macOS用户账号命令行

在macOS中,通常我们只使用图形界面来管理用户账号,但是这种图形界面受到macOS限制,只是按照类别区分普通用户和超级管理员。而对于传统的 Linux / FreeBSD 账号管理,我们还会按照用户组来授予权限。

例如,在 Darwin Containers快速起步 ,运行 containerd运行时(runtime) 的进程创建的 sock 文件就是 wheel 组,此时普通用户 huatai 使用 ctr 命令操作就会报错:

因为 containerd.sock 访问权限不足报错
ctr: failed to dial "/var/run/containerd/containerd.sock": connection error: desc = "transport: error while dialing: dial unix /var/run/containerd/containerd.sock: connect: permission denied"

检查 /var/run/containerd/containerd.sock 就可以看到这个 sock 文件可以通过 wheel 组身份访问。那么我们就需要通过以下命令来将自己( huatai )加入到用户组 wheel :

将自己 huatai 加入到用户组 wheel
dscl . -append /Groups/wheel GroupMembership huatai

常用的用户账号 dscl 操作

  • 添加用户 luser 案例:

在macOS中命令行添加用户
dscl . -create /Users/luser
dscl . -create /Users/luser UserShell /bin/bash
dscl . -create /Users/luser RealName "Lucius Q. User"
dscl . -create /Users/luser UniqueID "1010"
dscl . -create /Users/luser PrimaryGroupID 80
dscl . -create /Users/luser NFSHomeDirectory /Users/luser

# 修改密码
dscl . -passwd /Users/luser password

# 将用户加入到administrator组
dscl . -append /Groups/admin GroupMembership luser

参考