欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Mac终端dscl命令对组/用户的增删改查 新建 创建 添加 增加 有大用 有大大用 有大大大用

我创建用户的方法 有大用

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



介绍这个考虑两点:

  1. linux下常用的添加用户到组的方式「$ usermod -a -G 用户药附加到的组 用户」,该方法并不能在 mac 下使用。

  2. 可视化方法「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


普通分类: