在本教程中,我们将介绍如何在Linux系统中将用户添加到组。我们还将向您展示如何从组中删除用户以及如何创建,删除和列出组。

先决条件

要向一个群组添加用户,您需要以具有sudo访问权限或root用户身份登录。

Linux小组

Linux组是组织单位,用于组织和管理Linux中的用户帐户。组的主要目的是定义一组特权,例如对给定资源的读取,写入或执行权限,这些特权可以在组内的用户之间共享。

Linux操作系统中有两种类型的组:

主要组 –用户创建文件时,文件的组将设置为用户的主要组。通常,组的名称与用户的名称相同。有关用户的主要组的信息存储在/etc/passwd文件中。

次要或补充组-在您希望向某个用户授予某些文件权限时很有用属于该组成员的一组用户。例如,如果将特定用户添加到docker组,则该用户将继承该组的访问权限,并且将能够运行docker命令。

每个用户可以完全属于一个主要组,零个或多个次要组。

如何将现有用户添加到组中

要将现有用户添加到辅助组,请使用usermod命令,然后使用-G选项和该组的名称:

sudo usermod -a -G groupname username

例如,要将用户myfreax添加到名为sudo的组中,您需要运行以下命令:

sudo usermod -a -G sudo myfreax

将用户添加到新组时,始终使用-a(附加)开关。如果省略-a开关,则该用户将从-G开关之后未列出的任何组中删除。

成功后,usermod命令将不会显示任何输出。仅当用户或组不存在时,它才会警告您。

如何在一个命令中将现有用户添加到多个组

如果要在一个命令中将现有用户添加到多个辅助组,请使用usermod命令,然后使用以,(逗号)分隔的组的-G选项名称:

sudo usermod -a -G group1,group2 username

如何从群组中删除用户

要从组中删除用户,请使用gpasswd命令,在以下示例中,我们从名为groupname的组中删除名为username的用户:

sudo gpasswd -d username groupname

如何创建群组

创建新的组,请使用groupadd命令,后跟组名称:

sudo groupadd groupname

如何删除群组

要删除现有的组,请使用groupdel命令,后跟组名称:

sudo groupdel groupname

如何更改用户的主要组

要更改用户主要组,请使用usermod命令,然后使用-g选项:

sudo usermod -g groupname username

在以下示例中,我们将用户myfreax的主要组更改为developers

sudo usermod -g developers myfreax

如何在一个命令中创建新用户和分配组

以下 useradd命令将创建一个名为nathan的新用户,主要组为users,辅助组为wheel和开发人员。

sudo useradd -g users -G wheel,developers nathan

显示用户组

要显示完整的用户信息,包括用户所属的所有组,请使用id命令,后跟用户名:

id username

如果省略用户名,该命令将打印有关当前登录用户的信息。让我们检查一下用户myfreax

id myfreax
uid=1000(myfreax) gid=100(users) groups=100(users),10(wheel),95(storage),98(power),990(libvirt),993(docker),999(kvm)

从上面的输出中,我们看到此用户的主要组是users,它属于wheelstoragelibvirtdockerkvm补充组。

使用groups命令显示用户的补充组:

groups myfreax
wheel storage power users libvirt docker kvm

id​​命令相同,如果省略了用户名,则groups命令将打印当前登录的用户组。

结论

在本教程中,您学习了如何将用户添加到组中。相同的命令适用于任何Linux发行版,包括Ubuntu,CentOS,RHEL,Debian和Linux Mint。

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

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持