最近需要对系统的用户和用户组进行操作,才发现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