我创建用户的方法 有大用
sudo dscl . -create /Users/JS-temp UniqueID 550
sudo dscl . -create /Users/JS-temp PrimaryGroupID 20
sudo dscl . -create /Users/JS-temp NFSHomeDirectory /Users/JS-temp
sudo dscl . -create /Users/JS-temp UserShell /bin/bash
sudo dscl . -create /Users/JS-temp RealName "temp"
sudo dscl . -passwd /Users/JS-temp "1234"
sudo dscl . -append /Groups/admin GroupMembership JS-temp # 这一句就是把普通用户变为管理员
或者 sudo 不用输密码(密码通过管道输过来) 引号里面的"1234" (不含引号)才是JS-command7的新密码
echo 1234 指的是???是 输出当前用户的当前密码,比如当前用户是管理员 admin,就输出当前的密码 1234
echo 1234 | sudo -S dscl . -create /Users/JS-command7 UniqueID 502
echo 1234 | sudo -S dscl . -create /Users/JS-command7 PrimaryGroupID 20
echo 1234 | sudo -S dscl . -create /Users/JS-command7 NFSHomeDirectory /Users/JS-command7
echo 1234 | sudo -S dscl . -create /Users/JS-command7 UserShell /bin/bash
echo 1234 | sudo -S dscl . -create /Users/JS-command7 RealName "command7"
echo 1234 | sudo -S dscl . -passwd /Users/JS-command7 "1234"
Mac终端dscl命令对组/用户的增删改查

0.573字数 528阅读 10,476
#注意空格较多
查看所有的组 (仅显示组名)
方法①: 输入dscl -> cd /Local/Default/Groups -> ls
方法②: dscl . -list /Groups
查看所有的组 (显示所有组的详细信息)
dscl . -readall /Groups
查看所有组对应的ID (仅显示组名与ID)
dscl . -list /Groups PrimaryGroupID
查看指定的组 (显示详细信息)
dscl . -read /Groups/组名
单独查看指定组中的所有用户
dscl . -read /Groups/组名 GroupMembership
查看所有组下拥有的用户
$ dscl . -list /Groups GroupMembership
查看所有的用户 (仅显示用户名)
方法①:输入dscl -> cd /Local/Default/Users -> ls
方法②:dscl . -list /Users
查看所有用户对应的ID
dscl . -list /Users UniqueID
查看指定用户的详细信息
dscl . -read /Users/用户名
单独查看指定用户的ID
dscl . -read /Users/用户名 PrimaryGroupID
查看指定用户的ID与真实名字
dscl . -read /Users/用户名 PrimaryGroupID RealName
创建组
sudo dscl . create /Groups/组名
给创建的组创建ID PrimaryGroupID
sudo dscl . -create /Groups/组名 gid 数字 (数字为ID,必须唯一)
给创建的组创建密码 Password
sudo dscl . -create /Groups/组名 passwd "密码"
给创建的组添加真实名字 RealName
sudo dscl . -append /Groups/组名 RealName 真实名字
创建用户
sudo dscl . -create /Users/用户名
创建UserShell
sudo dscl . -create /Users/用户名 UserShell /bin/bash
创建真实名字 RealName
sudo dscl . -create/Users/用户名 RealName "真实名字"
以下同理
sudo dscl . -create /Users/用户名 UniqueID "数字"
sudo dscl . -create /Users/用户名 PrimaryGroupID 数字
sudo dscl . -create /Users/用户名 NFSHomeDirectory /Users/用户名
修改用户密码 更新用户密码 有大用
sudo dscl . -passwd /Users/用户名 "密码"
将某用户添加到某组中
sudo dscl . -append /Groups/组名 GroupMembership 用户名
删除组
sudo dscl . -delete /Groups/组名
将某用户从某组中删除
sudo dscl . -delete /Groups/某组 GroupMembership 用户名
按照数字排序显示当前系统所有本地用户的UID:
dscl localhost list /Local/Default/Users UniqueID | awk ' {print $2} ' | sort -g
用于查找用户帐户的UniqueID
按照数字排序显示当前系统所有本地用户组的GID:
dscl localhost list /Local/Default/groups PrimaryGroupID | awk ' {print $2} ' | sort -g
用于查找用户组的唯一GID
来自 https://www.jianshu.com/p/a0e61f65d539
介绍这个考虑两点:
linux下常用的添加用户到组的方式「$ usermod -a -G 用户药附加到的组 用户」,该方法并不能在 mac 下使用。
可视化方法「System Preferences -> Users & Groups」但不是所有的 User 和 Groups 都能看到,如:用户「_mysql」、用户组「_mysql」
用户
创建:创建「prince」用户,且 id 为 「2001」
$ sudo dscl . -create /Users/prince UniqueID 2001
查看
$ sudo dscl . -list /Users UniqueID
删除
$ sudo dscl . -delete /Users/prince
复制代码
用户组
创建组:创建「princegrp」用户组,且 ID 为 「2002」
$ sudo dscl . -create /Groups/princegrp PrimaryGroupID 2002
查看
$ sudo dscl . -list /Groups PrimaryGroupID
删除
$ sudo dscl . -delete /Groups/princegrp
复制代码
用户及用户组
添加:将用户「prince」添加到用户组「princegrp」
$ sudo dscl . -append /Groups/princegrp GroupMembership prince
删除:在用户组「princegrp」中删除用户「prince」
$ sudo dscl . -delete /Groups/prince GroupMembership prince
查看所有组下拥有的用户
$ dscl . -list /Groups GroupMembership
来自 https://juejin.cn/post/6859524025119588366