使用者組詳解

Craftor發表於2014-06-27

使用者組類似於使用者賬戶,資訊也儲存在系統的一個檔案中。/etc/group檔案包含了系統上用到的每個組的資訊。比如,本人的Ubuntu系統上的/etc/group檔案前10行內容如下:

root:x:0: 
daemon:x:1: 
bin:x:2: 
sys:x:3: 
adm:x:4:craftor 
tty:x:5: 
disk:x:6: 
lp:x:7: 
mail:x:8: 
news:x:9:

類似於UID,GID也是用特定的格式分配的。系統賬戶用的組通常會分配低於500的GID值,而使用者組的GID則會從500或1000開始(本人的Ubuntu13.04是從1000開始的)。/etc/group檔案有4個欄位:

- 組名
- 組密碼
- GID
- 屬於該組的使用者列表

組密碼允許非組內成員通過它臨時性地成為該組的成員。這個功能並不是非常通用,但確實存在。
千萬不能直接修改/etc/group檔案來新增使用者到一個組,而要用usermod命令。

***建立使用者組***


# groupadd newgroup

然後用tail /etc/group命令檢視最後一行。

建立新組時,預設沒有使用者屬於該組成員。groupadd命令沒有提供將使用者新增到組的選項,可以用usermod命令來新增使用者到該組:

# usermod -G newgroup user1 
# usermod -G newgroup user2

然後用tail /etc/group檢視結果

> 說明:如果更改了已登入系統賬戶所屬的使用者組,該使用者必須登出系統後再登入,組關係的更改才能生效。

> 警告:在將使用者新增到組的時候要小心。如果加了-g引數,指定的組名會替換掉該使用者的預設組。-G引數則將該組新增到使用者的所屬組的列表裡,而不會影響預設組。

***修改組***


# groupmod -n newgroup oldgroup

groupmod命令可以修改已有組的GID(-g引數)或組名(-n引數)。
修改組名時,GID和組成員不會變,只有組名會改變。由於所有的安全許可權都是基於GID的,你可以隨意改變組名而不會影響檔案的安全性。

相關文章