在Linux中,组用于组织和管理用户帐户。组的主要目的是为一组可以在组内用户之间共享的给定资源定义一组特权,例如读取,写入或执行权限

在本文中,我们将讨论如何使用groupadd命令在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的组。

例如,要创建一个GID为1010的名为mygroup的群组,您可以输入:

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。

如有任何疑问,请随时发表评论。

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持