防止 sudo 用户在没有目标用户密码的情况下切换到另一个用户?

Hon*_*ons 3 sudo password su

抱歉,如果标题含糊不清,但是我对 Ubuntu 还很陌生,但刚刚建立了一个网络服务器,与一群都是 sudo 的“开发人员”一起运行它。

目前,用户只能使用与其帐户绑定的密钥通过 SSH 登录。但 user1 可以简单地执行以下操作:

sudo su - user2
Run Code Online (Sandbox Code Playgroud)

并以 user2 身份运行,无需密码。有没有办法强制执行与

su - user2 
Run Code Online (Sandbox Code Playgroud)

这实际上需要 user2 的密码?否则跟踪每个用户的命令来查看谁做了什么是毫无意义的。

谢谢!

mur*_*uru 5

为了防止通过 切换用户sudo su -,您需要禁用 root 对su任何用户的能力。编辑/etc/pam.d/su并注释这一行:

auth       sufficient pam_rootok.so 
Run Code Online (Sandbox Code Playgroud)

正如上面的评论所说/etc/pam.d/su,这允许 rootsu无需密码。

或者,您可以将sudo使用限制为一组有限的命令,这些命令不包括并强制通过/su进行用户切换,并启用中的选项。sudo -i -usudo -s -utargetpwsudoers