1.命令作用
创建新用户组(create a new group)
2.命令语法
Usage: groupadd [options] GROUP
3.参数详解
OPTION:
- -f, --force,强制创建用户组,即使用户组名或GID已存在也不会报错;用户组名称已经存在时,-f会忽略冲突并静默成功退出,不会修改已存在的用户组属性;如指定-g参数的GID已经存在,-f会自动分配一个新的GID,即忽略-g参数
- -g, --gid GID,为新组使用GID
- -h, --help,显示此帮助信息并退出
- -K, --key KEY=VALUE,覆盖/etc/login.defs默认值
- -o, --non-unique,允许创建具有重复(非唯一)GID的组
- -p, --password PASSWORD,对新组使用此加密密码
- -r, --system,创建系统帐户;创建的系统用户组GID范围是1-999
- -R, --root CHROOT_DIR,指定chroot目录执行命令(参考chroot命令用法)
4.常用用例
4.1.用户组/GID已经存在情况下创建用户组
[root@node1 ~]# cat /etc/group | grep usergroup1
usergroup1:x:1004:
[root@node1 ~]# groupadd usergroup1 # 没有-f参数提示已经存在报错
groupadd: group 'usergroup1' already exists
[root@node1 ~]# groupadd -f usergroup1 # 指定-f参数执行返回成功,实际没有什么操作
[root@node1 ~]#
[root@node1 ~]# cat /etc/group | grep usergroup2 # 没有创建usergroup2用户组
[root@node1 ~]# groupadd -g 1004 usergroup2 # 直接指定已经存在的GID,提示已存在报错
groupadd: GID '1004' already exists
[root@node1 ~]# groupadd -f -g 1004 usergroup2 # 指定-f参数后,会忽略-g指定的GID,系统会自动分配一个GID
[root@node1 ~]# cat /etc/group | grep usergroup2
usergroup2:x:1007:
[root@node1 ~]#
4.2.创建可重复GID的用户组
[root@node1 ~]# cat /etc/group | grep usergroup2 # usergroup2 用户组GID是1007
usergroup2:x:1007:
[root@node1 ~]# cat /etc/group | grep usergroup3 # usergroup3 用户组不存在
[root@node1 ~]# groupadd -o -g 1007 usergroup3 # 创建usergroup3 用户组指定GID也为1007
[root@node1 ~]# cat /etc/group | grep usergroup3 # 查看两个用户组是相同的GID
usergroup3:x:1007:
[root@node1 ~]# cat /etc/group | grep usergroup2
usergroup2:x:1007:
[root@node1 ~]#
4.3.创建用户组添加加密密码
[root@node1 ~]# cat /etc/gshadow | grep usergroup[3-4] # 查看usergroup3、usergroup4用户组是否存在
usergroup3:!::
[root@node1 ~]# openssl passwd userg4pd # 生成加密密码,密码是userg4pd
gd5WThcxC3jKk
[root@node1 ~]# groupadd -p gd5WThcxC3jKk usergroup4 # 指定加密密码串,创建用户组
[root@node1 ~]# cat /etc/gshadow | grep usergroup[3-4] # 查看加密和没加密的用户组区别,没有密码显示感叹号!,有密码则显示加密的密码字符串
usergroup3:!::
usergroup4:gd5WThcxC3jKk::
[root@node1 ~]#
4.4.创建系统用户组
[root@node1 ~]# cat /etc/group | grep sysug
[root@node1 ~]# groupadd -r sysug
[root@node1 ~]# cat /etc/group | grep sysug
sysug:x:982:
[root@node1 ~]#