C語言中文網 目錄

Linux /etc/group文件解析(超詳細)

< 上一頁Linux /etc/shadow Linux /etc/gshadow下一頁 >

/ect/group 文件是用戶組配置文件,即用戶組的所有信息都存放在此文件中。

此文件是記錄組 ID(GID)和組名相對應的文件。前面講過,etc/passwd 文件中每行用戶信息的第四個字段記錄的是用戶的初始組 ID,那么,此 GID 的組名到底是什么呢?就要從 /etc/group 文件中查找。

/etc/group 文件的內容可以通過 Vim 看到:

[root@localhost ~]#vim /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
…省略部分輸出…
lamp:x:502:

可以看到,此文件中每一行各代表一個用戶組。在前面章節中,我們曾創建 lamp 用戶,系統默認生成一個 lamp 用戶組,在此可以看到,此用戶組的 GID 為 502,目前它僅作為 lamp 用戶的初始組。

各用戶組中,還是以 ":" 作為字段之間的分隔符,分為 4 個字段,每個字段對應的含義為:

組名:密碼:GID:該用戶組中的用戶列表

接下來,分別介紹各個字段具體的含義。

組名

也就是是用戶組的名稱,有字母或數字構成。同 /etc/passwd 中的用戶名一樣,組名也不能重復。

組密碼

和 /etc/passwd 文件一樣,這里的 "x" 僅僅是密碼標識,真正加密后的組密碼默認保存在 /etc/gshadow 文件中。

不過,用戶設置密碼是為了驗證用戶的身份,那用戶組設置密碼是用來做什么的呢?用戶組密碼主要是用來指定組管理員的,由于系統中的賬號可能會非常多,root 用戶可能沒有時間進行用戶的組調整,這時可以給用戶組指定組管理員,如果有用戶需要加入或退出某用戶組,可以由該組的組管理員替代 root 進行管理。但是這項功能目前很少使用,我們也很少設置組密碼。如果需要賦予某用戶調整某個用戶組的權限,則可以使用 sudo 命令代替。

組ID (GID)

就是群組的 ID 號,Linux 系統就是通過 GID 來區分用戶組的,同用戶名一樣,組名也只是為了便于管理員記憶。

這里的組 GID 與 /etc/passwd 文件中第 4 個字段的 GID 相對應,實際上,/etc/passwd 文件中使用 GID 對應的群組名,就是通過此文件對應得到的。

組中的用戶

此字段列出每個群組包含的所有用戶。需要注意的是,如果該用戶組是這個用戶的初始組,則該用戶不會寫入這個字段,可以這么理解,該字段顯示的用戶都是這個用戶組的附加用戶。

舉個例子,lamp 組的組信息為 "lamp:x:502:",可以看到,第四個字段沒有寫入 lamp 用戶,因為 lamp 組是 lamp 用戶的初始組。如果要查詢這些用戶的初始組,則需要先到 /etc/passwd 文件中查看 GID(第四個字段),然后到 /etc/group 文件中比對組名。

每個用戶都可以加入多個附加組,但是只能屬于一個初始組。所以我們在實際工作中,如果需要把用戶加入其他組,則需要以附加組的形式添加。例如,我們想讓 lamp 也加入 root 這個群組,那么只需要在第一行的最后一個字段加入 lamp,即 root:x:0:lamp 就可以了。

一般情況下,用戶的初始組就是在建立用戶的同時建立的和用戶名相同的組。

到此,我們已經學習了/etc/passwd、/etc/shadow、/etc/group,它們之間的關系可以這樣理解,即先在 /etc/group 文件中查詢用戶組的 GID 和組名;然后在 /etc/passwd 文件中查找該 GID 是哪個用戶的初始組,同時提取這個用戶的用戶名和 UID;最后通過 UID 到 /etc/shadow 文件中提取和這個用戶相匹配的密碼。
< 上一頁Linux /etc/shadow Linux /etc/gshadow下一頁 >

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo