在 中/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)
sudo
允许用户根据其配置方式以 UID 0(或其他用户)身份执行命令。无需向 root 询问密码即可以 UID 0 运行命令,因为它已经是 UID 0。
此外,root 也可以su
给任何它想要的人,因此在sudo -u user
作为 UID 0执行时不需要提示输入密码。
注意:我确实相信有一个 PAM 设置,它甚至需要 root 在使用su
.