使用者組類似於使用者賬戶,資訊也儲存在系統的一個檔案中。/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的,你可以隨意改變組名而不會影響檔案的安全性。