剖析 sudo
的基本概念、定义、性质和一些可以称之为“定理”或“准则”的核心原则。这种结构化的理解,能帮助我们更深刻地把握其精髓。
一、 基本概念与定义 (Fundamental Concepts and Definitions)
sudo
(Substitute User DO / SuperUser DO):- 定义:
sudo
是一个计算机程序,它允许一个被授权的用户(源用户)以另一个用户(目标用户,通常是root
超级用户)的身份和权限来执行指定的命令。 - 核心目的:在不共享目标用户(尤其是
root
用户)密码的前提下,实现可控的、临时的权限提升,并对操作进行审计。
- 定义:
- 源用户 (Source User / Invoking User):
- 定义:发起
sudo
请求的用户,即在命令行输入sudo <command>
的用户。
- 定义:发起
- 目标用户 (Target User):
- 定义:源用户希望模拟其身份和权限来执行命令的用户。
- 默认:通常是
root
用户 (UID 0)。 - 可配置性:可以通过
/etc/sudoers
配置为其他用户。
/etc/sudoers
文件 (The Sudoers File):- 定义:
sudo
的核心配置文件,以特定的语法规则定义了哪些源用户(或用户组)可以在哪些主机上,以哪些目标用户(或用户组)的身份,执行哪些命令。 - 地位:
sudo
的“授权法典”或“
- 定义: