如何把一个Linux用户添加到一个组中

如何把一个Linux用户添加到一个组中

假设你是一个大项目的系统管理员,你经常收到QA团队的抱怨,说开发团队把代码库搞得一团糟,反之亦然。经过仔细检查,你发现两个团队是同一个小组的一部分,共享同一个代码库。于是你向你的前辈求助,他建议你为开发团队和QA团队的所有用户建立两个组。但是,你不知道如何在Linux中把用户添加到一个组。好吧,我们在这里帮助解决这个问题。在这篇文章中,我们已经解释了如何在Linux中创建一个新的组,创建新的用户,然后将用户添加到一个组中。

在我们演示如何创建组,创建用户,以及将新的或现有的用户添加到这些组之前,我们首先需要了解什么是Linux中的用户组。因此,让我们看看什么是用户组,然后再继续向组中添加用户。

  1. 什么是Linux中的用户组
  2. 如何在Linux中添加新用户
  3. 如何在Linux中创建一个用户组
  4. 如何将用户添加到组中
  5. 如何从组中删除一个用户
  6. 如何改变一个用户的主组
  7. 如何列出Linux中的所有用户组

什么是Linux中的用户组

一般来说,一个组织被分为几个小组,每个小组有不同的功能,组织的每个成员都是一个小组的一部分。同样,在一个多用户系统中,每个用户都是一个组的一部分,拥有一组不同的权限,如组内共享资源的读、写、或执行权限。在Linux中,有两种类型的组:

主组(Primary Group)

每当你登录到一个会话时,你就是主组的一部分。一般来说,主组的名称与Linux中的用户名相同。由你创建的任何文件或进程都是这个组的一部分,其他组的用户默认不能访问。关于主组的信息,如用户ID、组ID等,存储在文件中 – /etc/passwd

辅助组(Secondary Group)

当你需要与某个特定的用户组共享任何文件或进程的访问权时,二级组或辅助组很有用。只有根用户或具有 sudo 权限的用户可以分配新的权限或添加新的用户到辅助组。

一个用户只能是一个主组的成员,但可以是多个二级组的成员。现在你知道了Linux中用户组的基本知识,现在让我们看看如何创建新用户并将他们添加到一个组中。

如何在Linux中添加新用户

要创建新用户,请使用 useradd 命令,其语法如下:

sudo useradd <options> username

 

与该命令配对的一些选项是:

选项 描述
-d 新用户的创建将使用一个新的目录名称作为用户登录目录的值
-e 这是用来指定用户账户将被停用的日期
-u 这将创建一个具有特定用户ID的新用户

在Linux中添加新用户

你创建的新用户最初只会是主组的一部分。一旦你创建了一个新的用户,使用 passwd 命令给他们分配一个新的密码,如下所示:

sudo passwd <username>

这里,你会被提示输入新的密码,然后被要求重新输入密码进行确认。这时,用户现在可以用你刚刚创建的新的用户名和密码登录系统了。

分配用户一个新的密码

如何在Linux中创建一个用户组

现在你已经创建了一个新的用户,你可以开始创建组,并把用户加入到组中。要创建一个新的组,使用 groupadd 命令。请确保给新组的名称一个独特的名字,否则它将与其他现有的组名相冲突。语法是这样的:

sudo groupadd <group_name>

创建一个用户组

如何将用户添加到组中

一旦你创建了一个组,你现在可以开始向它添加用户。只有root用户或有 sudo 权限的用户才能将用户添加到不同的组。

将现有的用户添加到一个现有的组中

要将一个现有的用户添加到一个组中,使用 usermod 命令,其语法我们在下面强调:

sudo usermod -a <user_name> -G <group_name>

这里, -a 选项代表追加(在末尾添加),它将用户添加到一个现有的组中,而 -G 标志用于指定用户被追加到的组的名称。这个命令没有粗略输出的选项,只是在用户或组不存在时给出一个警告。

将现有的用户添加到一个现有的组

将用户添加到多个组中

Linux中的 usermod 命令也可以用来将一个用户添加到多个组,其选项与单个组基本相同,如下图所示。请确保指定的组名没有任何空格。

sudo usermod -a <user_name> -G <group_name_1>,<group_name_2>,<group_name_3>

创建一个新用户并指定一个组

你可以用一条命令将一个新的用户添加到一个组中,所有这些都是在Linux。 useradd 命令让你创建一个新的用户,然后将用户添加到指定的组中。使用 useradd 命令添加一个新用户的语法是

sudo useradd <username> -G <group_name_1>,<group_name_2>,<group_name_3>

创建一个新用户并指定一个组

查看一个用户的群组

要查看与一个用户相关的所有群组,你可以使用 group 命令或 id 命令。检查你的语法,如下所示:

groups <user_name>

id <user_name>

如果 <user_name> 留空,那么它将只显示当前用户的群组名称。

查看一个用户的群组

如何从组中删除一个用户

在Linux发行版中,要从一个组中删除一个用户,你可以使用 gpasswd 命令,按照下面的语法:

sudo gpasswd -d <user_name> <group_name>

除了从组中删除用户外, gpasswd 命令还可用于各种管理任务,如定义组管理员或设置组密码等。

如何从组中删除一个用户

在Linux中删除一个组

要在Linux中删除任何二级组,你可以使用 groupdel 命令:

sudo groupdel <groupname>

在Linux中删除一个组

如何改变一个用户的主组

到目前为止,我们讨论的所有命令都适用于二级组和它们的用户。在Linux中要改变一个用户的主组,请使用以下语法:

sudo usermod –g <new_primary_group> <user_name>

你一定想知道 -g-G 标志之间有什么区别。 -g 标志用于主组,而 -G 标志则用于辅助组。

如何改变一个用户的主组

如何列出Linux中的所有用户组

在安装时创建的用户被称为系统用户,是Linux中许多默认组的一部分。系统中每个组的信息都存储在 /etc/group 文件中。要列出系统中的所有组,请使用以下语法:

sudo cat /etc/group

如何列出Linux中的所有用户组

小结

管理组是一项有用的工作,在各种操作中可能会派上用场,特别是如果你是一个系统管理员。在这里,我们向你展示了一些简单的Linux终端命令,以创建一个新的用户,创建新的组,将一个新的用户添加到一个组,等等。所以,我们希望这篇文章能解决你的问题。如果没有,请在下面的评论中告诉我们,我们会帮助你的。

评论留言