我有两个用户可以sudo
不输入密码执行某些命令(为了简单起见,我们假设他们可以运行 sudo ALL)
# /etc/sudoers
userA ALL = (root) NOPASSWD: ALL
userB ALL = (root) NOPASSWD: ALL
然后我以我的身份登录userA
并想要调试由用户 B 运行的命令。
userA@host$ sudo su userB
userB@host$ sudo whoami
[sudo] Password: <--- WHY?!
从现在起,我不能再这样做了sudo
。它会要求我输入(可能是用户 B 的)密码。
我的第一个猜测是 sudoers 区分了会话和正确的登录会话,但是我仍然在使用-s
sudo 和-l
su 时得到密码提示。
— 编辑1:
另外,刚刚测试了允许所有用户使用 sudo
userA@host$ sudo -s -u userB
userB@host$ sudo whoami
[sudo] Password: <--- WHY?!
但是 sudoers 仍然被忽略,并且进一步的 sudo 调用,因为 userB 像以前一样显示 sudo 密码提示。