linux添加有效群组,linux基础命令--groupadd 创建新的群组
描述
groupadd命令用于創建一個新的群組。
groupadd命令默認會根據命令行指定的值和系統下的/etc/login.defs文件定義的值去修改系統下的/etc/group和/etc/gshadow文件,添加新的群組。
語法
groupadd [選項] group
選項列表
選項(常用的已加粗)
說明
-f, --force
如果指定的組已經存在,使用-f選項會以成功狀態退出。當和-g選項一起使用時,且指定的GID已經存在,則選擇另一個唯一的GID(系統默認選擇的一個GID)
-g, --gid GID
指定的GID必須是唯一的,除非使用-o選項。從系統管理角度GID取值范圍:其他組GID最大值≤指定的GID≤60000,若不使用-g指定GID則系統默認使用:其他組GID最大值+1
-K, --key KEY=VALUE
覆蓋/etc/login.defs文件的GID_MIN、GID_MAX或其他的默認值,可指定多個-K選項。例如:-K GID_MIN=100 -K GID_MAX=499;注意:-K GID_MIN=10,GID_MAX=499不支持
-o, --non-unique
需和-g選項一起使用,允許指定一個已存在的GID,即共享一個GID,使該GID不再具備唯一性。
-p, --password PASSWORD
指定組密碼(默認不設密碼)
-r, --system
創建一個系統組。系統組的GID一般是為安裝到系統的應用保留的。(系統組GID的值在/etc/login.defs文件定義的SYS_GID_MIN-SYS_GID_MAX范圍內:201~999)
注意:使用-r選項時且不使用-g選項指定GID時,系統默認以GID_MIN-1的方式生成GID,比如系統已經存在編號為999和998的GID,則默認創建下一個GID為997的組
-R, --root CHROOT_DIR
指定在CHROOT_DIR(改變后的根目錄)下更改生效以及使用CHROOT_DIR目錄下的配置文件
實例
分別使用-f和-fg選項測試一個已經存在的組
[root@pople ~]# tail -1 /etc/group && tail -1 /etc/gshadow # 先檢查兩個組文件
anna:x:1002:
anna:!::
[root@pople ~]# id anna
uid=1002(anna) gid=1002(anna) groups=1002(anna)
[root@pople ~]# groupadd -f anna # 創建一個存在的組,echo $?返回上一個命令的退出碼,顯示為0表示命令以成功狀態退出
[root@pople ~]# echo $?
0
[root@pople ~]# tail -1 /etc/group && tail -1 /etc/gshadow # 對比可看到兩個組文件信息無變化
anna:x:1002:
anna:!::
[root@pople ~]# groupadd -fg 1002 test
[root@pople ~]# tail -2 /etc/group && tail -2 /etc/gshadow # 對比可以看到-f選項和-g一起使用時,若指定的GID已存在,則GID默認選取:其他組GID最大值+1
anna:x:1002:
test:x:1003:
anna:!::
test:!::
[root@pople ~]# groupadd -g 1003 test1 # 單獨-g選項無法跳過已存在的GID而強制創建新組
groupadd: GID '1003' already exists
使用-o和-g選項為指定的組添加一個已存在的GID,即此GID將被共享,不再具備唯一性。
使用-r選項創建一個系統組(system group),若不指定GID,則默認選取:其他系統組GID最小值-1。
[root@pople ~]# groupadd -o -g 1003 test1
[root@pople ~]# tail -2 /etc/group && tail -2 /etc/gshadow # 組test和組test1具備相同的GID--1003,此時該GID不再具備唯一性
test:x:1003:
test1:x:1003:
test:!::
test1:!::
[root@pople ~]# cat /etc/group |grep 99
nobody:x:99:
input:x:999:
polkitd:x:998:
ssh_keys:x:997:
cockpit-ws:x:996:
[root@pople ~]# groupadd -r sys_account # 新系統組GID = 已存在的系統組GID最小值:996 -1 = 995
[root@pople ~]# cat /etc/group |grep 99
nobody:x:99:
input:x:999:
polkitd:x:998:
ssh_keys:x:997:
cockpit-ws:x:996:
sys_account:x:995:
[root@pople ~]# groupadd -g 800 test2 && tail -2 /etc/group # 系統GID和普通的GID并沒有界限上的限定,所以選取GID的范圍不一定要按照系統默認的范圍設置。
sys_account:x:995:
test2:x:800:
[root@pople ~]#
總結:
系統GID和普通用戶的GID并沒有界限上的限定,所以可靈活搭配-g選項和其他選項任意指定一個GID。當不搭配-g選項,則系統以默認定義好的配置來創建組,無須關心GID,只需設置組名即可,安全又省事。
組名不能超過32個字符長度。
總結
以上是生活随笔為你收集整理的linux添加有效群组,linux基础命令--groupadd 创建新的群组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SRAM逻辑结构
- 下一篇: linux查看群组所属用户,linux