在本文中,我们将讨论如何使用groupadd命令在Linux操作系统中创建新组。在Linux中,组用于组织和管理用户帐户,组的主要目的是为一组可以在组内用户之间共享的给定资源定义一组特权,例如读取、写入或执行权限。
groupadd命令语法
groupadd命令的一般语法如下:
groupadd [OPTIONS] GROUPNAME
只有root或具有sudo特权的用户才能创建新组。
调用时,groupadd使用命令行上指定的选项以及/etc/login.defs文件中指定的默认值创建一个新组。
在Linux中创建组
要创建新的组,请键入groupadd,然后输入用户名。
例如,要创建一个名为mygroup的新组,可以运行:
$ groupadd mygroup
该命令将新组的条目添加到/etc/group和/etc/gshadow文件中。
创建群组后,你可以开始将用户添加到群组中。
如果已经存在相同名称的组,则系统将显示一条错误消息,如下所示:
groupadd: group 'mygroup' already exists
要抑制错误消息(如果该组存在)并使命令成功退出,请使用-f(--force)选项:
$ groupadd -f mygroup
创建具有特定GID的组
在Linux和类似Unix的操作系统中,组由名称和唯一的GID(正整数)标识。
默认情况下,创建新组时,系统会在login.defs文件中指定的组ID范围内分配下一个可用的GID。
使用-g(--gid)选项创建具有特定GID的组。
例如,要创建一个名为mygroup且GID为1010的组,请输入:
$ groupadd -g 1010 mygroup
你可以通过列出所有组并使用grep过滤结果来验证组的GID:
$ getent group | grep mygroup
mygroup:x:1010:
如果已经存在具有给定GID的组,则会出现以下错误:
groupadd: GID '1010' already exists
与-o(--non-unique)选项一起使用时,groupadd命令允许你创建具有非唯一GID的组:
$ groupadd -o -g 1010 mygroup
创建系统组
系统和常规(普通)组之间没有真正的技术差异,通常,系统组用于某些特殊的系统操作目的,例如创建备份或进行系统维护。
系统组GID是从login.defs文件中指定的系统组UD的范围中选择的,该范围不同于常规组的范围。
使用-r(--system)选项创建系统组,例如,要创建一个名为mysystemgroup的新系统组,请运行:
$ groupadd -r mysystemgroup
覆盖默认的/etc/login.defs值
-K(--key)选项后跟KEY=VAL,使你可以覆盖/etc/login.defs文件中指定的默认值。
基本上,你可以覆盖的是创建新组时用于自动GID选择的常规组ID和系统组ID的最大值和最小值。
假设你要创建一个GID在1200到1500之间的新组,为此,请指定最小/最大值,如下所示:
$ groupadd -K GID_MIN=1200 -K GID_MAX=1500 mygroup
使用密码创建系统组
向组中添加密码没有实际用途,并且可能会导致安全问题,因为多个用户需要知道该密码。
-p(--password)选项后接密码,你可以为新组设置密码:
$ groupadd -p grouppassword mygroup
结论
在Linux中,你可以使用groupadd命令创建新组。
相同的说明适用于任何Linux发行版,包括Ubuntu、CentOS、RHEL、Debian、Fedora和Arch Linux。
相关主题