创建一个新组
命令语法格式
groupadd [options] group
命令描述
命令groupadd使用命令行中指定的参数值以及系统设置的默认值来创建新的组帐户。新组将根据需要进入系统文件。
命令支持的选项及含义
命令groupadd支持如下的选项:
-f, –force
如果指定的组已存在,则此选项会强制命令groupadd以成功状态退出。当与-g一起使用时,如果指定的GID已经存在,选择另一个唯一的GID值,即关闭-g选项。
-g, –gid GID
数值类型的GID。除非使用了-o选项,否则此值必须是唯一的。该值必须是非负数。默认设置是使用大于或等于GID_MIN的最小ID值,并比其他所有GID都大。
-o, –non-unique
该选项允许命令groupadd添加一个GID不唯一的组。
另请参阅-r选项和GID_MAX描述。
-r, –system
创建一个系统组。关于什么是系统组及与普通组的区别,参考「What is a “system” group, as opposed to a normal group?」。
新创建的系统组的GID在login.defs中定义的SYS_GID_MIN-SYS_GID_MAX范围内进行选择,而不是GID_MIN-GID_MAX。
-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这种格式。
-p, –password PASSWORD
加密的密码,由crypt(3)返回。默认设置是禁用密码的。
注意:建议不要使用此选项,因为列出进程的用户可以看到密码(或加密密码)。你应该确保密码符合系统的密码策略。关于组密码的用途,或者说为什么组密码为什么用途不大可以参考「Typical use case for a group password」一文。
-R, –root CHROOT_DIR
在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help
显示帮助信息并退出。
配置文件
在/etc/login.defs中的以下配置变量会影响命令groupadd的行为:
GID_MAX (number), GID_MIN (number)
限制了由命令useradd、groupadd、newusers创建的普通组的GID范围。
参数GID_MIN的默认值为1000,相应的GID_MAX为60000。
MAX_MEMBERS_PER_GROUP (number)
每组条目的最大成员数。达到最大值时,将在/etc/group中创建新的组条目(行),并具有相同的名称、相同的密码、相同的GID值。
该属性默认值为0,表示组中的成员数没有限制。
此功能(拆分组)允许限制group文件中的行长度。这有助于确保NIS组的行不超过1024个字符。
如果你需要强制执行此类限制,则可以使用25。
注意:并不是所有工具都支持拆分组,即使在Shadow软件包中也有些工具不支持。除非确实有必要,否则不应使用此变量。
SYS_GID_MAX (number), SYS_GID_MIN (number)
限制了由命令useradd、groupadd、newusers创建的系统组的GID范围。
参数SYS_GID_MIN的默认值为101,相应的SYS_GID_MAX为GID_MIN – 1。
相关文件
/etc/group
组帐号信息。
/etc/gshadow
安全组帐号信息。
/etc/login.defs
软件包Shadow中各个工具的配置文件,用于改变这些工具的行为。
注意事项
通常建议仅使用以小写字母或下划线开头的组名,后跟小写字母、数字、下划线、短划线。他们可以以美元符号结束。使用正则表达式则为[a-z_][a-z0-9_-]*[$]?
在Debian上,唯一的限制是组名不能以短划线(’-‘)、加号(’+’)、波浪号(’~’)开始,也不能包含冒号(’:’)、逗号(’,’ )、空白(空格:”、行尾’\ n’、制表’\t’等)。
组名最长可达32个字符。
你可能无法添加NIS或LDAP组。这必须在相应的服务器上执行。
如果组名已存在于外部的组数据库(如NIS或LDAP)中,则groupadd将拒绝组创建请求。
退出状态
命令groupadd会以以下状态值退出:
0 成功
2 命令的语法是无效的
3 选项的参数无效
4 GID不是唯一的(当-o未使用时)
9 组名不是唯一的
10 无法更新组文件
相关手册
chfn(1), chsh(1), passwd(1), gpasswd(8), groupdel(8), groupmod(8), login.defs(5), useradd(8), userdel(8), usermod(8).
参考文献
- man 8 groupadd, Version shadow-utils 4.4
更新日志
- 07/18/2018 创建文章