最近需要對系統的使用者和使用者組進行操作,才發現mac系統下的使用者操作跟常見的Linux系統有很大的不同。
反正useradd
、groupadd
是用不了了。送你一句command not found
。
於是,查詢整理了一些資料,做了記錄。
相對來講,還是比較全的,也很適合小白。網上很多的文章,要麼有說怎麼查,沒說怎麼刪;要麼有介紹使用者操作,沒有介紹使用者組的操作。
檢視所有的組:
dscl
cd /Local/Default/Groups
ls
// 或者
dscl . -list /Groups
// 如需檢視各組ID
dscl . -list /Groups PrimaryGroupID
dscl . -readall /groups
// 檢視指定的組
dscl . -read /Groups/admin
檢視所有的使用者:
dscl
cd /Local/Default/Users
ls
// 或者
dscl . -list /Users
// 如需檢視各使用者ID
dscl . -list /Users UniqueID
檢視指定使用者wenlie
的所屬組ID:
dscl . -read /Users/wenlie
dscl . -read /Users/wenlie PrimaryGroupID
dscl . -read /Users/wenlie PrimaryGroupID RealName
檢視指定組admin
中的使用者:
dscl . -read /Groups/admin
dscl . -read /Groups/admin GroupMembership
建立組:
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
刪除組:
dscl . -delete /Groups/test_group
建立指定使用者test_user
:
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
從組中刪除使用者:
dscl . -delete /Groups/test_group GroupMembership test_user
檢視dscl
命令的幫助:
dscl
help