如何在 Linux 中创建组(groupadd 命令)

评论 0 浏览 0 2019-10-08

在 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 的组。

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

groupadd -g 1010 mygroup

您可以通过列出所有组来验证组的 GID 并使用 grep 过滤结果 :

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 文件中指定的默认值。

基本上,您可以覆盖的只是正常组 ID 和系统组 ID 的最大值和最小值,以便在创建新组时自动选择 GID。

假设您要创建一个 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。

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

最后更新2023-09-24
0 个评论