Linux 将用户添加到组

17 Mar 2025 | 5 分钟阅读

Linux 允许我们将用户添加到特定的用户组。一个用户账户可以添加到多个组。例如,具有 sudo 权限的用户可以访问 sudo 命令以获得相关权限。此外,我们可以为组配置文件权限和其他权限。

将用户添加到组是一个直接的过程,我们只需要执行相应的命令。我们将遍历与用户和组相关的所有场景,例如如何添加、删除、从组中移除用户。此外,我们还将学习如何列出组。首先,理解 Linux 组

Linux 组

Linux 组是用户社区,它们有权在 Linux 系统中管理和组织用户和文件权限。创建组的主要目的是定义一组权限,如读写权限或允许共享组资源。

Linux 组的类型

在基于 Linux 的系统中,有两种类型的组,它们是

  • 主组
  • 次组或补充组

主组: 当我们通过特定用户帐户创建文件时,默认情况下,文件组设置为用户的**主组**。它将提供与文件用户组相同的名称作为用户帐户名。主组将用户信息存储在 /etc/passwd 文件中。

次组或补充组: 创建次组的主要目的

是为了允许有限的用户拥有特定权限。例如,如果我们想将任何用户添加到 sudo 组,则添加的用户将继承 sudo 权限,并能够运行 sudo 命令。如果我们添加用户到 docker 组,那么它将继承 docker 组的属性,并能够运行 docker 命令。

一个用户只能添加到**一个主组**。没有必要将用户添加到次组,因此用户可以添加到**零个或多个次组**。

注意:只有 root 用户才有权将用户添加到组。

添加组

要在 Linux 系统上创建新的用户组,请执行 **groupadd 命令**,后跟组名。您需要 sudo 访问权限才能获得提升的权限。执行命令如下

上面的命令会要求输入系统管理员密码,输入密码。请看下面的输出

Linux Add User to Group

如何将用户添加到组

将用户添加到组是一个直接的过程。我们可以使用 **usermod 命令**将用户添加到组。要将用户添加到组,请执行此命令,后跟组名和用户名。组名是要将特定用户添加到的组的名称。

让我们创建两个用户,user1 和 user2,执行命令如下

上面的命令将添加名为 user1 和 user2 的两个用户。请看下面的输出

Linux Add User to Group

要将用户添加到组,请执行以下命令

上面的命令会将 user1 添加到 jtpGroup。请看下面的输出

Linux Add User to Group

-a 选项用于**追加**组;在将新用户添加到组时,建议使用此选项。如果未使用 -a 选项,用户将被从 -G 选项后指定的任何组中移除。

如果 usermod 命令成功执行,它将不显示任何输出,但在失败的情况下,它将显示警告消息,例如用户或组不存在。

将用户添加到多个组

Linux 系统允许我们将用户添加到各种组。但是,一个用户只能添加到**一个主组**,但可以添加到**任意数量的次组**。

要将用户分配到次组,请使用 usermod 命令,后跟组名(用逗号分隔)和用户名。

让我们创建名为 JtpGroup2 和 JtpGroup3 的次组

现在,将 user1(已添加到 JtpGroup,因此其主组是 JtpGroup)添加到次组 jtpGroup2、JtpGroup3。执行以下命令。

上面的命令会将 user1 添加到 JtpGroup2 和 JtpGroup3,而不会将其从 JtpGroup 中移除。请看下面的输出

Linux Add User to Group

我们可以指定任意数量的组,用逗号在主组后面指定。

列出 Linux 中的组

Linux 中存在许多组;这些组可以是用户定义的,也可以是预定义的。我们可以使用 getent 命令列出所有可用的组。

要列出 Linux 系统中所有可用的组,请执行以下命令

上面的命令将显示大量预定义和用户定义的组列表。请看下面的输出截图

Linux Add User to Group

上面的输出截图是从最后截取的。在输出的开头,有一个预定义组的广泛列表。

从组中删除用户

Linux 系统允许我们从组中删除用户。要从组中删除用户,请执行 **gpasswd 命令**,后跟 -d 选项,然后是组名和用户名。请看下面的命令

上面的命令将从 JtpGroup 中移除用户。请看下面的输出

Linux Add User to Group

此组将在下次登录时分配新的组配置。如果用户已登录,则更改不会立即生效。

更改用户的**主组**

一个用户可以添加到多个组。在这种情况下,将只有一个主组,其他将是次组。文件的访问权限将分配给主组。有时我们可能需要更改主组;可以使用 usermod 命令更改。

要更改用户的**主组**,请执行 usermod 命令,如下所示

考虑下面的输出

Linux Add User to Group

上面的命令将从 JtpGroup 中移除 user1 并将其添加到 JtpGroup2。**-g 选项**用于将用户分配给**主组**,而 **-G 选项**用于将用户分配给**次组**。


下一主题Linux id 命令