我对 su 有点困惑。我只想全面阻止用户使用 su。授权用户将拥有 sudo 访问权限,因此他们可以根据需要成为 root。我们只是想在任何情况下完全禁用 su。
此来源已取消注释并替换auth required pam_wheel.so
为auth required pam_wheel.so use_uid
/etc/pam.d/su
https://securitronlinux.com/bejiitaswrath/how-to-disable-the-su-to-root-in-linux-using-pam/
但页面上说
这将要求用户以 root 身份登录终端才能使用 root 提示。
所以我担心它会阻止用户使用sudo -s
此外,我们不希望用户能够转为 root 权限,然后通过 su 进入彼此的帐户。我看到/etc/pam.d/su
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
我评论这行代码安全吗?这样能达到我的目的,而不会把我们所有人都拒之门外吗?
答案1
感谢@pasmanpasmański 以及所有评论者和问答者,他们真正增强了我对 Ubuntu 的理解。
要在 Ubuntu 上禁用 su(实际上也在一些 redhat 发行版上),请执行以下操作:
编辑/etc/pam.d/su
注释掉auth required pam_wheel.so
并auth required pam_wheel.so use_uid
在下面添加。
并注释掉auth sufficient pam_rootok.so
然后你可以预料到:没有人,包括 root 可以 su!
答案2
Ubuntu 使用的安全模型:
- 您无法登录,因为
root
帐户密码已被阻止。 - 用户只能
root
通过 获得权限sudo
。要做到这一点,他们必须属于sudo
或admin
组,或直接在sudo
配置文件中。
因此,如果您希望用户无法使用 su,请将他们从组中删除sudo
。admin
如果他们可以执行一些管理任务,则最好将他们添加到组并在配置文件中myadmins
配置组的权限。myadmins
sudoers