iBug Asked: 2019-03-25 23:09:05 +0800 CST2019-03-25 23:09:05 +0800 CST 2019-03-25 23:09:05 +0800 CST 为什么即使 /etc/sudoers 中没有写入“NOPASSWD:ALL”,root 也不需要密码来运行“sudo”[重复] 772 在/etc/sudoers中,总有: root ALL=(ALL:ALL) ALL 但是,root 用户(UID 为 0)在运行时不需要输入密码sudo command。 对于其他用户,除非他们的条目包含NOPASSWD或先前的身份验证未超时,否则需要密码: user ALL=(ALL:ALL) NOPASSWD:ALL ^^^^^^^^ linux sudo 2 个回答 Voted Best Answer Peschke 2019-03-25T23:24:53+08:002019-03-25T23:24:53+08:00 sudo允许用户根据其配置方式以 UID 0(或其他用户)的身份执行命令。无需向 root 询问密码即可以 UID 0 运行命令,因为它已经是 UID 0。 此外,root 也可以访问任何它想要的人,因此在以 UID 0su执行时无需提示输入密码。sudo -u user 注意:我相信有一个 PAM 设置甚至会要求 root 在使用su. ctrl-alt-delor 2019-03-26T00:10:43+08:002019-03-26T00:10:43+08:00 虽然这是一个有趣的不一致。停止 root 是没有意义的,因为 root 有能力CAP_SETUID,CAP_SETGID所以不需要 sudo。它可以为所欲为。 如果sudo正在检查 root,而不是这些功能,则可能存在潜在错误:没有功能的 root 可能会升级(我不知道我没有查看代码或测试)。
sudo
允许用户根据其配置方式以 UID 0(或其他用户)的身份执行命令。无需向 root 询问密码即可以 UID 0 运行命令,因为它已经是 UID 0。此外,root 也可以访问任何它想要的人,因此在以 UID 0
su
执行时无需提示输入密码。sudo -u user
注意:我相信有一个 PAM 设置甚至会要求 root 在使用
su
.虽然这是一个有趣的不一致。停止 root 是没有意义的,因为 root 有能力
CAP_SETUID
,CAP_SETGID
所以不需要 sudo。它可以为所欲为。如果
sudo
正在检查 root,而不是这些功能,则可能存在潜在错误:没有功能的 root 可能会升级(我不知道我没有查看代码或测试)。