系统相关
首页 > 系统相关> > linux基础命令--groupadd 创建新的群组

linux基础命令--groupadd 创建新的群组

作者:互联网

描述

语法

选项列表

选项(常用的已加粗) 说明
-f, --force 如果指定的组已经存在,使用-f选项会以成功状态退出。当和-g选项一起使用时,且指定的GID已经存在,则选择另一个唯一的GID(系统默认选择的一个GID)
-g, --gid GID

指定的GID的数值必须是唯一的,除非使用-o选项。从系统管理角度GID取值范围:其他组GID最大值≤指定的GID≤60000,若不使用-g指定GID则系统默认使用:其他组GID最大值+1

-K, --key KEY=VALUE -K选项会覆盖/etc/login.defs文件里的最小GID、最大GID或其他的默认值,可以指定多个选项。例如:-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目录下的配置文件
-h, --help 显示帮助文档并退出 

退出值

EXIT VALUES  说明
0
执行成功
2 
命令语法错误
3
无效的选项参数
4
GID不唯一(没有使用-o选项),说明该GID可能已存在
9
组名不唯一,说明组名可能重复了
10
无法更新组文件 

 

配置

  1. useradd, groupadd, or newusers命令都通过在/etc/login.defs文件定义的GID_MIN~GID_MAX范围内(1000≤GID≤60000)生成合理的GID
  2. 当一个组的最大成员数达到最大值时,将在/etc/group中启动一个新的组条目(行)(具有相同的名称、相同的密码和相同的GID)。系统默认值为0,表示一个组的成员数没有上限。而特性(分组)允许限制组文件中的行长度。这对于确保NIS组的行不大于1024个字符非常有用。如果需要强制执行这样的限制,可以使用值为25。

实例

[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
[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 ~]# 

 总结:

   

标签:选项,pople,群组,etc,GID,linux,root,groupadd
来源: https://www.cnblogs.com/yuelaoban/p/10666521.html