最近需要对系统的用户和用户组进行操作,才发现mac系统下的用户操作跟常见的Linux系统有很大的不同。
反正useradd、groupadd是用不了了。送你一句command not found。
于是,查询整理了一些资料,做了记录。
相对来讲,还是比较全的,也很适合小白。网上很多的文章,要么有说怎么查,没说怎么删;要么有介绍用户操作,没有介绍用户组的操作。
查看所有的组:
1 2 3 4 5 6 7 8 9 10 11 12 13
   | dscl cd /Local/Default/Groups ls
  // 或者 dscl . -list /Groups // 如需查看各组ID dscl . -list /Groups PrimaryGroupID
  dscl . -readall /groups
  // 查看指定的组 dscl . -read /Groups/admin
   | 
 
查看所有的用户:
1 2 3 4 5 6 7 8 9
   | dscl cd /Local/Default/Users ls
   // 或者 dscl . -list /Users
   // 如需查看各用户ID dscl . -list /Users UniqueID
   | 
 
查看指定用户wenlie的所属组ID:
1 2 3
   | dscl . -read /Users/wenlie dscl . -read /Users/wenlie PrimaryGroupID dscl . -read /Users/wenlie PrimaryGroupID RealName
   | 
 
查看指定组admin中的用户:
1 2
   | dscl . -read /Groups/admin dscl . -read /Groups/admin GroupMembership
   | 
 
创建组:
1 2 3 4 5 6 7 8 9 10 11
   | dscl . create /Groups/test_group // 此处未指定gid, 那么通过dscl . -list /Groups PrimaryGroupID命令会查询不到,而应该使用dscl . -list /Groups
  dscl . create /Groups/test_group gid 296
  sudo dscl . -create /groups/test_group sudo dscl . -append /groups/test_group gid 4200 sudo dscl . -append /groups/test_group passwd "nicepwd"
  // 以下命令,会自动创建groupid sudo dseditgroup -o create test_group
   | 
 
删除组:
1
   | dscl . -delete /Groups/test_group
   | 
 
创建指定用户test_user:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
   | dscl . -create /Users/test_user dscl . -create /Users/test_user UserShell /bin/bash dscl . -create /Users/test_user RealName "Lucius Q. User"
  // 注意 UniqueID必须唯一 dscl . -create /Users/test_user UniqueID "1010" dscl . -create /Users/test_user PrimaryGroupID 80 dscl . -create /Users/test_user NFSHomeDirectory /Users/test_user
  // 修改密码 dscl . -passwd /Users/test_user 'goodpwd'
  // 加入指定用户组`admin` dscl . -append /Groups/admin GroupMembership test_user
   | 
 
从组中删除用户:
1
   | dscl . -delete /Groups/test_group GroupMembership test_user
   | 
 
查看dscl命令的帮助:
1 创建用户hadoop
创建用户:
1
   | dscl . -create /Users/hadoop
   | 
 
创建用户目录:
1
   | dscl . -create /Users/hadoop NFSHomeDirectory /Users/hadoop
   | 
 
设置bash环境:
1
   | dscl . -create /Users/hadoop UserShell /bin/bash
   | 
 
添加到用户组admin:
1
   | dscl . -append /Groups/admin GroupMembership hadoop
   | 
 
2 添加sudoer权限
在文中root行下添加hadoop行
1 2
   | root ALL=(ALL:ALL) ALL hadoop ALL=(ALL:ALL) ALL
   | 
 
其中:
visudo <=> vi /etc/sudoers