为什么即使 /etc/sudoers 中没有写入“NOPASSWD:ALL”,root 也不需要密码来运行“sudo”

iBu*_*Bug 6 linux root sudo

在 中/etc/sudoers,总是有:

root    ALL=(ALL:ALL) ALL
Run Code Online (Sandbox Code Playgroud)

但是,root 用户(UID 为 0)在运行时不需要输入密码sudo command

对于其他用户,除非他们的条目包含NOPASSWD或之前的身份验证未超时,否则需要密码:

user    ALL=(ALL:ALL) NOPASSWD:ALL
                      ^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

Pes*_*hke 6

sudo允许用户根据其配置方式以 UID 0(或其他用户)身份执行命令。无需向 root 询问密码即可以 UID 0 运行命令,因为它已经是 UID 0。

此外,root 也可以su给任何它想要的人,因此在sudo -u user作为 UID 0执行时不需要提示输入密码。

注意:我确实相信有一个 PAM 设置,它甚至需要 root 在使用su.