
我最近一直在創建新用戶並將他們分配到某些群組。我想知道是否有一個命令可以顯示分配給某個群組的所有使用者?我嘗試過使用“groups”命令,但是每當我使用此命令時,它都會顯示“groups:找不到”
答案1
我更喜歡使用獲取指令 ...
由於 getent 使用與系統相同的名稱服務,因此 getent 將顯示所有信息,包括從 LDAP 等網路資訊來源獲得的資訊。
因此,對於一個團體,您應該使用以下...
getent group name_of_group
在哪裡組名替換為您要尋找的群組。請注意,這僅會傳回補充組成員身份,不包括將此群組作為主要群組的使用者。
您還可以執行許多其他查找...這passwd
是另一個有用的查找,您需要列出主要群組。
答案2
您可以使用 grep:
grep '^group_name_here:' /etc/group
這僅列出補充組成員身份,而不列出將此組作為主要組的用戶。而且它只能尋找本機群組,而不是來自 LDAP 等網路服務的群組。
答案3
更容易做groups [username]
如果您想列出所有本地用戶及其本地群組,您可以這樣做
cat /etc/passwd | awk -F':' '{ print $1}' | xargs -n1 groups
如果您收到“群組:找不到命令”,則很可能您已將環境路徑編輯得更糟,要重置路徑,請執行以下操作PATH=$(getconf PATH)
答案4
groups
指令列印使用者的群組成員身分。您可以使用lid
命令列出群組中的用戶,例如:
# lid -g <groupname>
更新:在基於 Debian 的發行版上,指令名稱不同於libuser-lid
.libuser
正如 @chris-down 所提到的,這兩個命令都是由套件提供的。
$ sudo libuser-lid -g lpadmin
kadir(uid=xxxx)