如何在Linux中将用户添加到组

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

Linux组

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

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

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

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

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

仅root用户或具有 sudo 访问可以将用户添加到组中。

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

要将现有用户添加到辅助组,请使用 usermod -a -G 命令后跟组名和用户名:

sudo usermod -a -G groupname username

例如,添加用户 linuxizesudo 组,您将运行以下命令:

sudo usermod -a -G sudo linuxize

始终使用 -a (添加)选项,将用户添加到新组中。 如果您省略 -a 选项,该用户将被从未列出的任何组中删除 -G 选项。

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

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

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

sudo usermod -a -G group1,group2 username

如何从组中删除用户

要从组中删除用户,请使用 gpasswd 命令机智 -d 选项。

在以下示例中,我们将删除用户 username 从组 groupname

sudo gpasswd -d username groupname

如何建立群组

要创建一个新组,请使用 groupadd 命令,后跟组名:

sudo groupadd groupname

如何删除群组

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

sudo groupdel groupname

如何更改用户的主要组

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

sudo usermod -g groupname username

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

sudo usermod -g developers linuxize

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

以下 useradd 命令创建一个新用户,名为 nathan 与主要群体 users 和次要小组和开发人员。

sudo useradd -g users -G wheel,developers nathan

显示用户组

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

id username

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

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

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

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

groups linuxize
wheel storage power users libvirt docker kvm

如果没有用户名传递给 groups 命令,它将打印当前登录的用户组。

结论#

在本教程中,我们向您展示了如何将用户添加到组中。

相同的命令适用于任何Linux发行版,包括Ubuntu,CentOS,RHEL,Debian和Linux Mint。

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

终端用户组

Sidebar