前面小節介紹了 Linux 用戶相關的增刪改查,本小節介紹 Linux 用戶組,Linux 系統中采取了一種安全機制(即用戶組),用戶組可以允許多個 Linux 用戶共享同一種權限。
1. 用戶組介紹
Linux 是多任務多用戶的操作系統,可以理解為在 Linux 系統中支持多個用戶在同一時間內在不同的終端登陸,并且不同用戶可以調用不同的任務,它們之間互不影響。
不同的 Linux 用戶權限不同,毎個用戶可以執行指定權限范圍內的任務,Linux 系統通過這種權限的管理劃分,實現了多用戶多任務的運行機制。因此,如果要使用 Linux 系統的資源,就需要向系統管理員申請一個用戶。
通過建立不同權限的用戶,可以合理地利用和控制系統資源,還能幫助用戶組織文件,提供對用戶文件的安全性保護。用戶組是具有相同特征用戶的邏輯集合,簡單的理解,有時我們需要讓多個用戶具有相同的權限,例如新建、刪除、修改、查看文件的權限,可以分別對多個用戶進行文件訪問授權,但如果用戶多了,挨個的給用戶授權這種方式就不太合理。
最好的方式是建立一個組,讓這個組具有新建、刪除、修改、查看文件的權限,然后將所有需要訪問此文件的用戶放入這個組中,每個組都會有唯一的 GID,這樣所有組中用戶就具有了和組一樣的權限。
2. 查看 Linux 用戶組
Linux 系統中?/etc/group
?文件保存的就是系統中所有的用戶組的主要信息,和用戶文件?/etc/passwd
?類似,這些信息以?:
?分隔,可以使用?cat
?命令查看其中的信息,命令如下:
cat /etc/group
執行結果如下圖:
Tips:如上圖所示,每行代表一個用戶組。
/etc/group
?文件中每行用戶包含的信息如下:
- 組名;
- 組密碼(以?
x
?表示); - 組 ID(GID);
- 屬于該組的用戶列表。
Tips:組密碼允許非組內的成員通過它臨時使用該組的權限。
3. 查看 Linux 用戶組信息
Linux 中?/etc/gshadow
?文件上保存了每個用戶組的信息,該文件和?/etc/shadow
?類似,只有?root
?用戶才能訪問,這個文件中包含每個用戶組的一條記錄信息,使用?cat
?命令查看:
cat /etc/gshadow
執行結果如下圖:
這些信息以?:
?分隔,/etc/gshadow
?文件中每行用戶包含的信息如下:
- 組名;
- 加密密碼;
- 組管理員;
- 組附加用戶列表。
4. 查看用戶的 ID 信息
若想要查看某一個 Linux 用戶的?組ID(GID)
?和?用戶ID(UID)
?,可以使用?id
?命令,命令如下:
id rootid user_name01id user_name02
執行結果如下圖:
Tips:最后的字段?
組=gid
?表示的是用戶所在組,這里既可以看到初始組,如果有附加組,則也能看到附加組。
5. 小結
本小節介紹了用戶組的作用,用戶組在系統中可以方便管理不同權限組的用戶,需要注意的是同一個用戶可以加入到不同的組中,擁有不同的組分配的權限,非組內用戶可以通過組密碼臨時使用組的權限。還介紹了用戶組相關的兩個文件?/etc/group
?和?/etc/gshadow
,最后介紹了如何使用?id
?命令查看用戶的?UID
?和?GID
?信息。