Linux groupadd 命令创建组

在Linux,组用于组织和管理用户帐户。组的主要目的是为指定的资源定义权限并在组内用户之间共享权限

3 min read
By myfreax
Linux groupadd 命令创建组
Linux groupadd 命令创建组

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

在本教程中,我们将讨论如何在Linux使用groupadd命令创建组。groupadd命令的语法形式是groupadd [OPTIONS] GROUPNAME

只有root用户或具有sudo权限的用户才能创建组。当运行groupadd命令时,groupadd将会根据指定的选项以及/etc/login.defs文件中指定的默认值创建组。

groupadd 命令创建组

要创建新的组,请运行groupadd命令,然后输入组的名称。命令创建组的记录添加到文件/etc/group/etc/gshadow

如果已经存在相同名称的组,系统将会展示错误消息groupadd: group 'mygroup' already exists。如果禁用错误消息的输出,请使用-f/--force选项。

例如命令groupadd -f mygroup将会要创建组mygroup

groupadd mygroup
groupadd -f mygroup

groupadd 命令指定GID创建组

在Linux/Unix操作系统,组由其名称和唯一的GID标识。默认情况下,创建组时,系统会从login.defs文件中指定的组ID范围,分配下一个可用的GID。

如果需要创建具有指定GID的组,请使用groupadd命令的-g/--gid选项创建组。当指定GID的组已经存在时,groupadd将会打印错误消息,groupadd: GID '1010' already exists。

你也可以使用groupadd命令的-o/--non-unique选项,创建具有非唯一GID的组。

例如groupadd -g 1010 mygroup将会创建mygroup并指定GID 1010。要验证组是否创建成功,可以运行命令列出所有组并使用grep命令过滤结果。

groupadd -g 1010 mygroup
#groupadd -o -g 1010 mygroup
getent group | grep mygroup
mygroup:x:1010:

groupadd 命令创建系统组

系统和普通组之间没有真正的技术区别。通常,系统组用于某些特殊的系统操作目的,例如创建备份或进行系统维护。

系统组的GID是从login.defs文件指定的UD范围选择,该范围不同于普通组的范围。要创建系统组请使用groupadd 命令的-r/--system选项创建组。

例如groupadd -r mysystemgroup,创建mysystemgroup系统组。

groupadd -r mysystemgroup

覆盖默认/etc/login.defs

您也可以覆盖创建组时用于自动选择GID的最大值和最小值,值都可以为系统组和普通组指定。

groupadd 命令的-K/--key选项使您可以覆盖/etc/login.defs文件中指定的默认值。

假设您要创建GID是在1200至1500之间的组,请指定最小/最大值。运行groupadd命令创建组。

groupadd -K GID_MIN=1200 -K GID_MAX=1500 mygroup

groupadd 命令设置组密码

向组中添加密码没有实际用途,并且可能会导致安全问题,因为多个用户需要知道该密码。

-p--password)选项后接密码,可让您为新群组设置密码:

groupadd -p grouppassword mygroup

结论

在Linux中,您可以使用groupadd命令创建新组。如有任何疑问,请随时发表评论。

相同的说明适用于任何Linux发行版,包括Ubuntu,CentOS,RHEL,Debian,Fedora和Arch Linux。

Related Articles