📅  最后修改于: 2020-12-07 07:39:19             🧑  作者: Mango
Linux允许我们将用户添加到特定的用户组。一个用户帐户可以添加到多个组中。例如,具有sudo权限的用户可以访问sudo命令以获得相关权限。此外,我们可以为组配置文件权限和其他权限。
将用户添加到组是一个简单的过程,我们需要执行相应的命令。我们将介绍与用户和组有关的所有场景,例如如何向组添加,删除或删除用户。此外,我们还将学习如何列出组。首先,了解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中存在许多组。这些组可以是用户定义的也可以是预定义的。我们可以使用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选项用于将用户分配给辅助组。