首頁 > linux教程 > Linux用戶和用戶組管理 閱讀:0更新時間:2020-03-28 00:59:35

Linux gpasswd命令用法詳解:把用戶添加進組或從組中刪除

為了避免系統管理員(root)太忙碌,無法及時管理群組,我們可以使用 gpasswd 命令給群組設置一個群組管理員,代替 root 完成將用戶加入或移出群組的操作。

gpasswd 命令的基本格式如下:

[root@localhost ~]# gpasswd 選項 組名

表 1 詳細介紹了此命令提供的各種選項以及功能。

表 1 gpasswd命令各選項及其功能
選項 功能
  選項為空時,表示給群組設置密碼,僅 root 用戶可用。
-A user1,... 將群組的控制權交給 user1,... 等用戶管理,也就是說,設置 user1,... 等用戶為群組的管理員,僅 root 用戶可用。
-M user1,... 將 user1,... 加入到此群組中,僅 root 用戶可用。
-r 移除群組的密碼,僅 root 用戶可用。
-R 讓群組的密碼失效,僅 root 用戶可用。
-a user 將 user 用戶加入到群組中。
-d user 將 user 用戶從群組中移除。

從表 1 可以看到,除 root 可以管理群組外,可設置多個普通用戶作為群組的管理員,但也只能做“將用戶加入群組”和“將用戶移出群組”的操作。

【例 1】

#創建新群組 group1,并將群組交給 lamp 管理
[root@localhost ~]# groupadd group1  <-- 創建群組
[root@localhost ~]# gpasswd group1   <-- 設置密碼吧!
Changing the password for group group1
New Password:
Re-enter new password:
[root@localhost ~]# gpasswd -A lamp group1  <==加入群組管理員為 lamp
[root@localhost ~]# grep "group1" /etc/group /etc/gshadow
/etc/group:group1:x:506:
/etc/gshadow:group1:$1$I5ukIY1.$o5fmW.cOsc8.K.FHAFLWg0:lamp:

可以看到,此時 lamp 用戶即為 group1 群組的管理員。

【例 2】

#以lamp用戶登陸系統,并將用戶 lamp 和 lamp1 加入group1群組。
[lamp@localhost ~]#gpasswd -a lamp group1
[lamp@localhost ~]#gpasswd -a lamp1 group1
[lamp@localhost ~]#grep "group1" /etc/group
group1:x:506:lamp,lamp1


前面講過,使用 usermod -G 命令也可以將用戶加入群組,但會產生一個問題,即使用此命令將用戶加入到新的群組后,該用戶之前加入的那些群組都將被清空。例如:

#新創建一個群組group2
[root@localhost ~]# groupadd group2
[root@localhost ~]# usermod -G group2 lamp
[root@localhost ~]# grep "group2" /etc/group
group2:x:509:lamp
[root@localhost ~]# grep "group1" /etc/group
group1:x:506:lamp1

對比例 2 可以發現,雖然使用 usermod 命令成功地將 lamp 用戶加入在 group2 群組中,但 lamp 用戶原本在 group1 群組中,此時卻被移出,這就是使用 usermod 命令造成的。

因此,將用戶加入或移出群組,最好使用 gpasswd 命令。

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

相關文章

優秀教程

国产亚洲欧美日韩