![为什么“su - X”需要密码,而“sudo -u X bash”不需要?](https://linux22.com/image/573644/%E4%B8%BA%E4%BB%80%E4%B9%88%E2%80%9Csu%20-%20X%E2%80%9D%E9%9C%80%E8%A6%81%E5%AF%86%E7%A0%81%EF%BC%8C%E8%80%8C%E2%80%9Csudo%20-u%20X%20bash%E2%80%9D%E4%B8%8D%E9%9C%80%E8%A6%81%EF%BC%9F.png)
我知道“为什么”的问题很危险:) 我在 RHEL 上有 sudo 访问权限,并且注意到了这一点:
su - fred
Password:
(我不知道弗雷德的密码)。
sudo -u fred bash
[fred] $
有没有办法不需要 fred 的密码就可以执行su
?有什么理由想要这样做吗?
答案1
区别在于,它sudo
使用附加到您正在运行的帐户的权限,而su
更类似于以您要更改为的用户身份在正常提示符下登录。
尝试su root
以没有文件权限的普通用户身份进行操作sudoers
- 您可以使用root
凭据更改为该用户,而不管您当前用户的权限如何。
相反,文件sudo
中分配的权限/etc/sudoers
允许您的当前用户以 root 身份工作,而无需知道任何密码,只需知道您自己的密码即可。例如,在命令sudo
前面添加su -u fred
- 不再需要 fred 的密码,因为此时su
将以 root 权限运行。
答案2
sudo
暂时缓存您的密码...这里是这种情况吗?