抱歉,如果标题含糊不清,但是我对 Ubuntu 还很陌生,但刚刚建立了一个网络服务器,与一群都是 sudo 的“开发人员”一起运行它。
目前,用户只能使用与其帐户绑定的密钥通过 SSH 登录。但 user1 可以简单地执行以下操作:
sudo su - user2
Run Code Online (Sandbox Code Playgroud)
并以 user2 身份运行,无需密码。有没有办法强制执行与
su - user2
Run Code Online (Sandbox Code Playgroud)
这实际上需要 user2 的密码?否则跟踪每个用户的命令来查看谁做了什么是毫无意义的。
谢谢!
为了防止通过 切换用户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