📜  Linux将用户添加到组

📅  最后修改于: 2020-12-07 07:39:19             🧑  作者: Mango

Linux将用户添加到组

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

将用户添加到组是一个简单的过程,我们需要执行相应的命令。我们将介绍与用户和组有关的所有场景,例如如何向组添加,删除或删除用户。此外,我们还将学习如何列出组。首先,了解Linux组:

Linux组

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

Linux组的类型

在基于Linux的系统中,有两种类型的组:

  • 小学组
  • 次要或补充组

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

次要或补充小组:创建次要小组的主要动机

是为了授予受限用户特定的权限。例如,如果我们要将任何用户添加到sudo组,则添加的用户将继承sudo权限,并能够运行sudo命令。如果我们将用户添加到docker组,则它将继承docker组的属性并能够运行docker命令。

可以将一个用户添加到一个主要组中。不必将用户添加到辅助组,因此可以将用户添加到零个或多个辅助组。

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

新增群组

要在Linux系统上创建新的用户组,请执行groupadd命令,然后输入组名。您将需要sudo访问权限以获取提升的权限。执行以下命令:

sudo groupadd jtpGroup

上面的命令将要求输入系统管理密码,然后键入密码。考虑以下输出:

如何将用户添加到组

将用户添加到组是一个简单的过程。我们可以使用usermod命令将用户添加到组中。要将用户添加到组,请执行此命令,然后是组名和用户名。组名是要在其中添加特定用户的组的名称。

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

sudo useradd user1
sudo useradd user2

上面的命令将添加名为user1和user2的两个用户。考虑以下输出:

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

sudo usermod -a -G jtpGroup user1

上面的命令会将user1添加到jtpGroup中。考虑以下输出:

-a选项用于附加组;建议在将新用户添加到组时使用此选项。如果不使用-a选项,则将用户从-G选项之后未指定的任何组中删除。

如果usermod命令成功执行,它将不会显示任何输出,但是如果失败,它将发布警告消息,例如user或group不存在。

将用户添加到多个组

Linux系统允许我们将用户添加到各个组。但是,只能将用户添加到一个主要组,但可以将其添加到任意数量的辅助组中。

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

让我们创建名为JtpGroup2和JtpGroup3的辅助组:

sudo groupadd JtpGroup2
sudo groupadd JtpGroup3

现在,将user1(已经添加到JtpGroup,因此它的主要组是JtpGroup)添加到辅助组jtpGroup2,JtpGroup3。执行以下命令。

sudo usermod -a -G jtpGroup, JtpGroup2, JtpGroup3 user1

上面的命令会将user1添加到JtpGroup2和JtpGroup3中,而不将其从JtpGroup中删除。考虑以下输出:

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

列出Linux中的组

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

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

getent group

上面的命令将显示大量预定义和用户定义的组。考虑下面的输出快照:

上面的输出快照来自最后一个。在输出开始时,有大量的预定义组列表。

从组中删除用户

Linux系统允许我们从组中删除用户。要从组中删除用户,请执行带有-d选项的gpasswd命令,后跟组名和用户名。考虑以下命令:

sudo gpasswd -d user1 jtpGroup

上面的命令将从JtpGroup中删除用户。考虑以下输出:

下次登录时,将为该组分配新的组配置。如果用户已登录,则无法立即看到更改。

更改用户的主要组

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

要更改用户的主要组,请执行以下usermod命令:

sudo usermod -g JtpGroup2 user1

考虑以下输出:

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