介紹如何在 Linux 中使用 groupadd
指令新增群組。
新增群組
若要在 Linux 中新增一個群組,可以執行 groupadd
指令,並在參數中指定要新增的群組名稱,例如若要新增一個名稱為 mygroup
的新群組,則可執行:
# 新增 mygroup 群組
sudo groupadd mygroup
指定 GID
在 Linux 系統上的每一個群組都會對應一個群組 ID(GID),在新增群組時若沒有指定 GID,則系統會根據 /etc/login.defs
的設定自動分配一個 GID 給新增的群組。
若要自行指定新群組的 GID,可以加上 -g
或 --gid
參數,並指定 GID 值:
# 指定新群組 GID 為 2500 sudo groupadd -g 2500 mygroup
新增群組之後,確認新增的群組 GID:
# 查詢 mygroup 群組資訊 getent group | grep mygroup
mygroup:x:2500:
重複 GID
如果再新增群組時,指定的 GID 已經有其他群組在使用了,就會出現類似這樣的警告訊息:
groupadd: GID '2500' already exists
這時候若想要強迫系統使用同一個 GID,可以加上 -o
或 --non-unique
參數,讓多個群組共用 GID:
# 指定新群組 GID 為 2500 sudo groupadd -o -g 2500 mygroup
建立系統群組
系統群組是指專門用於各種服務、備份等系統運作的群組,但在技術上一般的群組與系統用的群組並沒有明顯的差異,只有使用的 GID 範圍不同而已(定義在 /etc/login.defs
設定檔中)。
若要建立系統群組,可以在執行 groupadd
時加上 -r
或 --system
參數:
# 建立 mysystemgroup 系統群組 sudo groupadd -r mysystemgroup
變更 login.defs
規則
若要在新增群組時,針對特例變更 /etc/login.defs
中的規則,可以使用 -K
或 --key
參數來覆蓋既有的規則,例如更改 GID 的可用範圍:
# 設定 GID 可用範圍為 1200 至 1500 sudo groupadd -K GID_MIN=1200 -K GID_MAX=1500 mygroup