在任何多用户操作系统中,管理用户和组是一个基本概念。这是 linux 基础知识 的核心部分,旨在实现访问控制和权限管理。当一个进程运行时,它以启动该进程的用户身份运行。同样,文件访问和所有权取决于权限,这可以防止一个用户访问另一个用户的私有文档。
Linux 用户和组基础知识
Linux 系统中的每个用户都被分配了一个个人主目录,通常位于 /home/username。此目录用于存储其特定于用户的文件和配置,尽管确切路径在不同的 Linux 发行版之间可能有所不同。
系统使用用户 ID (UID) 来识别用户,使用组 ID (GID) 来识别组。虽然我们使用人类可读的用户名,但操作系统在所有与权限相关的任务中都依赖于这些唯一的数字 ID。组本质上是用户的集合,使得一次性管理多个帐户的权限变得更加容易。
超级用户和 Sudo 命令
在 linux 用户和组 的层级结构中,有一个用户凌驾于所有其他用户之上:root,也称为超级用户。root 用户拥有无限的权力,能够访问任何文件和管理任何进程。持续以 root 身份运行存在风险,因为一个简单的错误就可能损坏系统。
为了减轻这种风险,授权用户可以使用 sudo(superuser do)命令以 root 权限执行命令。这使得在不以 root 用户身份登录的情况下执行管理任务成为可能。对于任何希望掌握 quickest way to linux advanced(最快掌握 Linux 高级技能)的人来说,了解如何正确使用 sudo 至关重要。
让我们尝试查看一个受保护的文件,例如存储加密用户密码的 /etc/shadow。
cat /etc/shadow
您将收到一个“Permission denied”(权限被拒绝)错误。让我们检查一下文件的权限:
$ ls -la /etc/shadow
-rw-r----- 1 root shadow 1134 Dec 1 11:45 /etc/shadow
虽然我们稍后会详细介绍权限,但此输出显示只有 root 用户和 shadow 组的成员可以读取此文件。现在,使用 sudo 再次运行该命令:
sudo cat /etc/shadow
这次,系统会提示您输入密码,成功验证后,将显示文件内容。