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

Linux初始組和附加組

通過學習用戶和群組我們知道,群組可以讓多個用戶具有相同的權限,同時也可以這樣理解,一個用戶可以所屬多個群組,并同時擁有這些群組的權限,這就引出了初始組(有時也稱主組)和附加組。

linux etc/passwd》一節中,已經對用戶所屬初始組和附加組的概念進行了簡單介紹,本節對初始組和附加組做更詳細的介紹。

/etc/passwd 文件中每個用戶信息分為 7 個字段,其中第 4 字段(GID)指的就是每個用戶所屬的初始組,也就是說,當用戶一登陸系統,立刻就會擁有這個群組的相關權限。

舉個例子,我們新建一個用戶 lamp,并將其加入 users 群組中,執行命令如下:

[root@localhost ~]# useradd lamp  <--添加新用戶
[root@localhost ~]# groupadd users  <--添加新群組
[root@localhost ~]# usermod -G users lamp  <--將用戶lamp加入 users群組
[root@localhost ~]# grep "lamp" /etc/passwd /etc/group /etc/gshadow
/etc/passwd:lamp:x:501:501::/home/lamp:/bin/bash
/etc/group:users:x:100:lamp
/etc/group:lamp:x:501:
/etc/gshadow:users:::lamp
/etc/gshadow:lamp:!::

useradd 和 groupadd 分別是添加用戶和群組的命令,后續章節會做詳細講解。

可以看到,在 etc/passwd 文件中,lamp 用戶所屬的 GID(群組 ID)為 501,通過搜索 /etc/group 文件得知,對應此 GID 的是 lamp 群組,也就是說,lamp 群組是 lamp 用戶的初始組。

lamp 群組是添加 lamp 用戶時默認創建的群組,在 root 管理員使用 useradd 命令創建新用戶時,若未明確指定該命令所屬的初始組,useradd 命令會默認創建一個同用戶名相同的群組,作為該用戶的初始組。

正因為 lamp 群組是 lamp 用戶的初始組,該用戶一登陸就會自動獲取相應權限,因此不需要在 /etc/group 的第 4 個字段額外標注。

但是,附加組就不一樣了,從例子中可以看到,我們將 lamp 用戶加入 users 群組中,由于 users 這個群組并不是 lamp 的初始組,因此必須要在 /etc/group 這個文件中找到 users 那一行,將 lamp 這個用戶加入第 4 段中(群組包含的所有用戶),這樣 lamp 用戶才算是真正加入到 users 這個群組中。

在這個例子中,因為 lamp 用戶同時屬于 lamp 和users 兩個群組,所在,在讀取\寫入\運行文件時,只要是 user 和 lamp 群組擁有的功能,lamp 用戶都擁有。

一個用戶可以所屬多個附加組,但只能有一個初始組。那么,如何知道某用戶所屬哪些群組呢?使用 groups 命令即可。

例如,我們現在以 lamp 用戶的身份登錄系統,通過執行如下命令即可知曉當前用戶所屬的全部群組:

[root@localhost ~]# groups
lamp users

通過以上輸出信息可以得知,lamp 用戶同時屬于 lamp 群組和 users 群組,而且,第一個出現的為用戶的初始組,后面的都是附加組,所以 lamp 用戶的初始組為 lamp 群組,附加組為 users 群組。

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

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

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

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

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

相關文章

優秀教程

国产亚洲欧美日韩