mac下通過dscl命令對使用者/使用者組進行增刪改查操作

張文安發表於2018-01-24

最近需要對系統的使用者和使用者組進行操作,才發現mac系統下的使用者操作跟常見的Linux系統有很大的不同。
反正useraddgroupadd是用不了了。送你一句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

原文地址:http://www.4455q.com/tech/mac…

相關文章