介绍
用户和组管理是 Linux 系统管理的一个基本方面。通过将用户组织到组中,系统管理员可以高效地管理多个用户的文件权限、访问控制和资源共享。
在这个实验中,你将学习如何在 Linux 中创建组并将用户添加到这些组中。这些技能对于管理协作环境至关重要,在这种环境中,多个团队成员需要访问相同的资源。你将为一个 VR 设计团队创建一个组,并将用户添加到该组中,使他们能够共享对项目文件和资源的访问权限。
通过使用 groupadd 和 usermod 等命令进行实践操作,你将获得 Linux 用户管理的实际经验,这些经验可应用于现实世界的系统管理任务。
创建新组
在 Linux 中,组用于组织用户并统一管理权限。通过将用户添加到特定组,你可以一次性为所有组成员授予权限,而无需逐个配置。这在多个用户需要访问相同资源的协作环境中特别有用。
在这一步中,你将使用 groupadd 命令创建一个名为 vr_designers 的新组。该命令专门用于在 Linux 中创建新组。
首先,确保你位于项目目录中。打开终端并使用以下命令导航到项目目录:
cd ~/project
现在,执行以下命令创建新组:
sudo groupadd vr_designers
让我们来拆解这个命令:
sudo:此命令用于临时提升你的权限,以便执行管理任务groupadd:用于创建新组的命令vr_designers:你要创建的组的名称
执行此命令后,你应该看不到输出,这对于许多成功完成的 Linux 命令来说是正常的。
要验证组是否成功创建,你可以检查 /etc/group 文件,该文件包含系统上所有组的信息。使用 grep 命令过滤并仅显示与你的新组相关的行:
grep "vr_designers" /etc/group
你应该会看到类似于以下的输出:
vr_designers:x:1001:
此输出显示:
vr_designers:组的名称x:组密码的占位符(在现代系统中很少使用)1001:分配给该组的组 ID(GID)- 最后的冒号后面原本应该是该组中用户的逗号分隔列表(目前为空)
恭喜!你已在 Linux 中成功创建了一个新组。
将用户添加到组
既然你已经创建了 vr_designers 组,下一步就是将用户添加到这个组中。当用户被添加到一个组时,他们将继承分配给该组的所有权限和访问权。
在这一步中,你将使用 usermod 命令把三个用户 —— user1、user2 和 user3 —— 添加到 vr_designers 组中。这些用户在实验设置阶段就已经创建好了。
usermod 命令用于修改用户账户。当与 -a 和 -G 选项一起使用时,它会将用户添加到一个附属组,而不会将其从现有组中移除。
确保你仍然在项目目录中:
cd ~/project
现在,通过逐个执行以下命令,将每个用户添加到 vr_designers 组中:
sudo usermod -a -G vr_designers user1
sudo usermod -a -G vr_designers user2
sudo usermod -a -G vr_designers user3
让我们来了解一下 usermod 命令所使用的选项:
-a:代表“追加”,确保用户被添加到该组,而不会从其他组中移除-G:指定要将用户添加到的组vr_designers:组的名称user1、user2、user3:要添加到该组的用户的名称
与 groupadd 命令类似,usermod 在成功执行时通常不会产生任何输出。
要验证用户是否已正确添加到组中,请使用 groups 命令:
groups user1 user2 user3
此命令会显示每个用户所属的所有组。输出应该类似于:
user1 : user1 vr_designers
user2 : user2 vr_designers
user3 : user3 vr_designers
每一行都显示一个用户,后面跟着他们所属的组。现在,这三个用户都成为了 vr_designers 组的成员,同时他们还属于各自的主组(主组名称与用户名相同)。
你已经成功地在 Linux 中将用户添加到了一个组中,这是在多用户环境中管理权限的关键一步。
检查组信息
既然你已经创建了 vr_designers 组并将用户添加到其中,了解如何在 Linux 中检索和验证组信息就很重要了。这一步将教你几种检查与组相关信息的方法。
首先,确保你位于项目目录中:
cd ~/project
使用 id 命令
id 命令提供有关用户身份的详细信息,包括他们的用户 ID(UID)、主组 ID(GID)以及他们所属的所有组。让我们来检查 user1 的组信息:
id user1
此命令将显示类似于以下的输出:
uid=1001(user1) gid=1001(user1) groups=1001(user1),1004(vr_designers)
此输出显示:
uid=1001(user1):用户 ID 和用户名gid=1001(user1):主组 ID 和名称(通常与用户名相同)groups=1001(user1),1004(vr_designers):用户所属的所有组
使用 getent 命令
另一个用于检查组信息的有用命令是 getent,它从各种管理数据库(包括组数据库)中检索条目:
getent group vr_designers
你应该会看到类似于以下的输出:
vr_designers:x:1004:user1,user2,user3
此输出显示:
vr_designers:组名x:组密码的占位符1004:组 ID(GID)user1,user2,user3:该组的所有成员用户列表
直接查看组文件
你还可以查看 /etc/group 文件,该文件存储了系统上的所有组信息:
cat /etc/group | grep vr_designers
输出应该类似于:
vr_designers:x:1004:user1,user2,user3
检查特定用户的组成员身份
要专门检查某个用户属于哪些组,你可以使用 groups 命令并指定用户名:
groups user2
输出:
user2 : user2 vr_designers
这些命令提供了在 Linux 中验证组信息的不同方法。理解并使用这些命令对于有效的用户和组管理至关重要。
总结
在这个实验中,你学习了在 Linux 中管理组的基本概念和命令。以下是你所完成内容的回顾:
- 你使用
groupadd命令创建了一个名为vr_designers的新组 - 你使用带有
-a和-G选项的usermod命令将多个用户添加到该组中 - 你学习了使用
id、getent和groups等命令来检查和验证组信息的各种方法
这些技能对于 Linux 系统管理至关重要,特别是在多用户环境中,适当的访问控制尤为关键。组管理使你能够有效地组织用户并集体分配权限,从而提高系统管理的效率。
通过了解如何创建组、将用户添加到组以及验证组信息,你现在已经具备了在 Linux 系统中管理用户访问的知识。



