发布于2026-08-22 阅读(0)
扫一扫,手机访问
要直接禁止普通用户使用su命令切换到root用户,只需进行以下两步操作:首先,修改/etc/pam.d/su文件,启用pam_wheel.so校验;其次,在/etc/login.defs文件中设置SU_WHEEL_ONLY为yes。这两个步骤缺一不可,设置完成后,只有wheel组的成员才可以使用su命令,而root用户不受此限制。

直接禁止普通用户用 su 切换到 root,靠改两个文件就行:/etc/pam.d/su 和 /etc/login.defs。不改 SSH、不删 root 密码、也不依赖 sudo 配置——这是最干净、最底层的控制方式。
/etc/pam.d/su 启用 wheel 组校验这个文件决定 su 命令的身份验证逻辑。默认它放行所有用户,必须显式启用 pam_wheel.so 限制。
/etc/pam.d/su,找到这行(通常在开头附近):# auth required pam_wheel.so use_uid# 取消注释,保存auth 规则中靠前,否则可能被后续规则绕过wheel 组,usermod -aG wheel username 之前会失败,但不会报错——只是限制立即生效且无人能过SU_WHEEL_ONLY yes 防止 bypass/etc/login.defs 里的 SU_WHEEL_ONLY 是个兜底开关。只开 PAM 不够,有些发行版(如 RHEL/CentOS)会忽略 PAM 的 required 而优先读这个标志。
echo "SU_WHEEL_ONLY yes" >> /etc/login.defs 追加(或手动编辑)SU_WHEEL_ONLY = yes 或带引号,必须是空格分隔的纯关键字+值su 生效,但不影响 sudo 或 su -c 等其他提权路径改完立刻生效,不用重启服务,但容易卡在几个细节上:
su - 时提示 Permission denied,不是密码错——说明限制已起作用su: Authentication failure,可能是 PAM 行写错了位置(比如放在 account 段而非 auth 段),或拼写错误(pam_wheel 写成 pam_well)root 用户自己执行 su - 不受影响,因为 pam_rootok.so 默认放行 uid=0/var/log/secure,搜 su: 和 pam_wheel 能确认是否触发校验需格外留意的是:wheel组自身并无实际的权限含义,它仅仅是一个“准入名单”。将用户添加到wheel组(usermod -aG wheel alice)后,该用户便能够执行 su 操作。然而,此时必须同步妥善管理好这个组的成员——一旦出现漏加或误加的情况,安全边界就会崩塌。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9