Linux 用戶組
前面小節介紹了 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 root
id user_name01
id user_name02
執行結果如下圖:
Tips:最后的字段
組=gid
表示的是用戶所在組,這里既可以看到初始組,如果有附加組,則也能看到附加組。
5. 小結
本小節介紹了用戶組的作用,用戶組在系統中可以方便管理不同權限組的用戶,需要注意的是同一個用戶可以加入到不同的組中,擁有不同的組分配的權限,非組內用戶可以通過組密碼臨時使用組的權限。還介紹了用戶組相關的兩個文件 /etc/group
和 /etc/gshadow
,最后介紹了如何使用 id
命令查看用戶的 UID
和 GID
信息。