在linux中,組密碼是組管理員的密碼,加密后的組密碼默認(rèn)保存在“/etc/gshadow”文件中。組密碼可以使用gpasswd命令進(jìn)行設(shè)置或移除,只需執(zhí)行“gpasswd 組名”命令進(jìn)入組密碼設(shè)置模式,輸入兩次密碼即可;而執(zhí)行“gpasswd -r 組名”命令可移除群組的密碼,執(zhí)行“gpasswd -R 組名”命令讓群組的密碼失效。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
在linux中,組密碼是組管理員的密碼。
用戶設(shè)置密碼是為了驗(yàn)證用戶的身份,而用戶組設(shè)置密碼主要是用來指定組管理員的。
由于系統(tǒng)中的賬號(hào)可能會(huì)非常多,root 用戶可能沒有時(shí)間進(jìn)行用戶的組調(diào)整,這時(shí)可以給用戶組指定組管理員,如果有用戶需要加入或退出某用戶組,可以由該組的組管理員替代 root 進(jìn)行管理。但是這項(xiàng)功能目前很少使用,我們也很少設(shè)置組密碼。如果需要賦予某用戶調(diào)整某個(gè)用戶組的權(quán)限,則可以使用 sudo 命令代替。
加密后的組密碼默認(rèn)保存在 /etc/gshadow
文件中。
/etc/gshadow 文件
我們借助 Vim 命令查看一下 /etc/gshadow文件中的內(nèi)容:
[root@localhost ~]#vim /etc/gshadow root::: bin:::bin, daemon daemon:::bin, daemon ...省略部分輸出... lamp:!::
文件中,每行代表一個(gè)組用戶的密碼信息,各行信息用 ":" 作為分隔符分為 4 個(gè)字段,每個(gè)字段的含義如下:
組名:加密密碼:組管理員:組附加用戶列表
組名
同 /etc/group 文件中的組名相對(duì)應(yīng)。
組密碼
對(duì)于大多數(shù)用戶來說,通常不設(shè)置組密碼,因此該字段常為空,但有時(shí)為 "!",指的是該群組沒有組密碼,也不設(shè)有群組管理員。
組管理員
從系統(tǒng)管理員的角度來說,該文件最大的功能就是創(chuàng)建群組管理員。那么,什么是群組管理員呢?
考慮到 Linux 系統(tǒng)中賬號(hào)太多,而超級(jí)管理員 root 可能比較忙碌,因此當(dāng)有用戶想要加入某群組時(shí),root 或許不能及時(shí)作出回應(yīng)。這種情況下,如果有群組管理員,那么他就能將用戶加入自己管理的群組中,也就免去麻煩 root 了。
不過,由于目前有 sudo 之類的工具,因此群組管理員的這個(gè)功能已經(jīng)很少使用了。
組中的附加用戶
該字段顯示這個(gè)用戶組中有哪些附加用戶,和 /etc/group 文件中附加組顯示內(nèi)容相同。
組密碼的設(shè)置或移除–gpasswd命令
為了避免系統(tǒng)管理員(root)太忙碌,無法及時(shí)管理群組,我們可以使用 gpasswd 命令給群組設(shè)置一個(gè)群組管理員,代替 root 完成將用戶加入或移出群組的操作。
gpasswd 命令的基本格式如下:
[root@localhost ~]# gpasswd 選項(xiàng) 組名
表 1 詳細(xì)介紹了此命令提供的各種選項(xiàng)以及功能。
選項(xiàng) | 功能 |
---|---|
選項(xiàng)為空時(shí),表示給群組設(shè)置密碼,僅 root 用戶可用。 | |
-A user1,… | 將群組的控制權(quán)交給 user1,… 等用戶管理,也就是說,設(shè)置 user1,… 等用戶為群組的管理員,僅 root 用戶可用。 |
-M user1,… | 將 user1,… 加入到此群組中,僅 root 用戶可用。 |
-r | 移除群組的密碼,僅 root 用戶可用。 |
-R | 讓群組的密碼失效,僅 root 用戶可用。 |
-a user | 將 user 用戶加入到群組中。 |
-d user | 將 user 用戶從群組中移除。 |
從表 1 可以看到,除 root 可以管理群組外,可設(shè)置多個(gè)普通用戶作為群組的管理員,但也只能做“將用戶加入群組”和“將用戶移出群組”的操作。
【例 1】
#創(chuàng)建新群組 group1,并將群組交給 lamp 管理 [root@localhost ~]# groupadd group1 <-- 創(chuàng)建群組 [root@localhost ~]# gpasswd group1 <-- 設(shè)置密碼吧! 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:
可以看到,此時(shí) lamp 用戶即為 group1 群組的管理員。