Linux 组显示

LinuxBeginner
立即练习

介绍

在 Linux 操作系统中,用户被组织成组,以方便进行权限管理和访问控制。了解组的工作原理对于系统管理和安全至关重要。本实验将指导你在 Linux 中查看组信息并创建新组的过程。

在整个实验过程中,你将学习如何使用 groups 命令显示用户所属的组,以及如何使用 groupadd 命令创建新组。这些技能是在 Linux 环境中管理用户访问和权限的基础。

这是一个实验(Guided Lab),提供逐步指导来帮助你学习和实践。请仔细按照说明完成每个步骤,获得实际操作经验。根据历史数据,这是一个 初级 级别的实验,完成率为 100%。获得了学习者 100% 的好评率。

理解组隶属关系

在 Linux 中,每个用户都属于一个或多个组。这些组有助于管理对文件和目录的权限和访问。在这一步中,你将学习如何查看自己和其他用户所属的组。

检查当前工作目录

首先,确保你处于正确的工作目录中:

cd ~/project

查看你所属的用户组

要查看当前用户账户所属的组,你可以在不使用任何参数的情况下使用 groups 命令:

groups

此命令将显示你的用户账户所属的所有组的列表。输出将类似于以下内容:

labex sudo ssl-cert public

在这个示例中,用户 labexlabexsudossl-certpublic 组的成员。

查看其他用户所属的用户组

要查看其他用户所属的组,你可以将用户名作为参数传递给 groups 命令:

groups username

例如,要查看 root 用户所属的组,你可以运行:

groups root

这将显示类似于以下内容的输出:

root : root

这表明 root 用户仅属于 root 组。

用户组归属的重要性

用户组归属决定了用户可以访问哪些文件和目录。当你为文件或目录设置权限时,你可以为所有者、所属组和其他用户指定不同的访问级别。

例如,如果一个文件为特定组设置了读取权限,那么该组的所有成员都可以读取该文件,即使他们不是文件的所有者。

请确保你至少运行一次 groupsgroups root 命令,以便进入下一步。

创建新组

既然你已经了解了如何查看组信息,接下来让我们学习如何创建新组。创建组可以让你更有效地组织用户并管理权限。

了解组的创建

在 Linux 中,只有具有管理员权限(sudo 访问权限)的用户才能创建新组。groupadd 命令用于在系统中创建新组。

创建组

让我们创建一个名为 seaturtles 的新组:

sudo groupadd seaturtles

当你运行此命令时,如果成功执行,将不会看到任何输出。对于许多成功完成的 Linux 命令来说,这是正常现象。

验证组是否创建成功

要验证组是否已成功创建,你可以使用 getent 命令,该命令用于从管理数据库中检索条目:

getent group | grep seaturtles

如果组创建成功,你应该会看到类似于以下的输出:

seaturtles:x:1002:

在这个输出中:

  • seaturtles 是组的名称
  • x 表示组密码存储在影子文件中
  • 1002 是组 ID(GID)
  • 最后一个字段(在本例中为空)会列出属于该组的所有用户

组管理的应用场景

创建组在以下方面很有用:

  • 组织具有相似角色的用户
  • 设置具有特定访问权限的共享目录
  • 管理系统资源和访问控制
  • 在多用户环境中简化用户管理

现在你已经创建了一个新组,为在 Linux 中管理基于组的权限奠定了基础。

总结

在本次实验中,你学习了在 Linux 中管理用户组的重要技能。现在你已经了解了如何:

  1. 使用 groups 命令查看当前用户账户所属的组
  2. 通过在 groups 命令中指定用户名来查看其他用户所属的组
  3. 使用 sudo groupadd 命令创建新组
  4. 使用 getent group 命令验证组是否存在

这些技能是 Linux 系统管理的基础,尤其在管理权限和访问控制方面。组可以让你组织具有相似角色或需求的用户,并简化为文件和目录设置权限的过程。

在你继续学习 Linux 的过程中,你可能会探索更多的组管理命令,例如使用 usermod 将用户添加到组中、使用 groupmod 修改组属性,以及使用 groupdel 删除组。理解用户、组和文件权限之间的关系对于维护一个安全且组织良好的 Linux 环境至关重要。