首页/系统/信创系统运维速查/限制 su:pam_wheel 配置
安全加固65 条

限制 su:pam_wheel 配置

默认任何用户知道 root 口令都能 su:用 pam_wheel 限制仅 wheel 组成员可 su,把提权收敛到受控账户,配合 sudo 形成审计链路。

信创系统运维速查系统更新于 2026-10-13

为什么要限制 su

默认情况下,任何知道 root 口令的用户都能通过 su 切换成 root,而 su 留下的记录远比 sudo 单薄,等于把一个不受审计的提权入口留在系统里。pam_wheel 模块可以把 su 权限限定给 wheel 组成员:只有受控账户能切换,普通用户被直接拒绝,提权路径收敛为『普通账号 + sudo』这一条可审计的链路。

基本信息

模块pam_wheel(位于 /etc/pam.d/su 中)
典型配置行auth required pam_wheel.so use_uid
授权方式usermod -aG wheel 用户名(Debian 系历史上用 sudo 组)
生效位置/etc/pam.d/su 的 auth 段
验证方式用非 wheel 账户执行 su 应被拒绝
前提条件sudo 授权先落地,避免操作路径断档

典型使用场景

  • 等保基线要求提权收敛到受控账户
  • 多人共用一台运维机的场景下限制可提权人员范围
  • 排查异常提权时确认 su 通道是否已被约束
  • 批量交付前统一各机器的 su 策略
  • 把 root 口令的知悉范围缩小到少数账户

配置与验证

配置与验证
usermod -aG wheel opsadmin        # 授权账户加入 wheel 组(root 执行)
id opsadmin | tr ',' '\n' | grep wheel   # 确认组成员关系已生效
# /etc/pam.d/su 中确认存在(部分版本默认被注释):
# auth  required  pam_wheel.so use_uid
grep -n pam_wheel /etc/pam.d/su   # 检查是否已启用及所在位置
# 用非 wheel 账户实测:应提示 permission denied
su - testuser -c 'su - root -c id'

配套与回退

配套与回退
grep -n 'pam_wheel' /etc/pam.d/su /etc/pam.d/su-l   # 注意 su-l 是另一种登录路径,别漏改
sed -i.bak 's/^#auth\s\+required\s\+pam_wheel.so use_uid/auth required pam_wheel.so use_uid/' /etc/pam.d/su
# 上面这条在备份原文件的同时去掉注释,先确认原文件内容再执行
getent group wheel                            # 核对 wheel 组成员
usermod -aG wheel opsadmin2                   # 新增授权账户
su - opsadmin -c 'sudo -n true; echo exit=$?'  # 确认授权账户的 sudo 路径仍可用

配置与效果

配置位置典型内容效果
/etc/pam.d/suauth required pam_wheel.so use_uid仅 wheel 组可 su
/etc/pam.d/su(trust 选项)pam_wheel.so trust组成员 su 时不必再输口令
/etc/pam.d/su-l同 su 的登录变体覆盖通过登录方式执行的 su
/etc/groupwheel:x:10:opsadmin决定谁在授权名单里
sudoers授权与管理命令替代 su 的提权路径
pam_wheel 行在部分发行版中已预置但被注释(#auth required pam_wheel.so use_uid),去掉注释即生效,改动前用测试账户验证拒绝效果再推广。
收紧 su 之前先确认 sudo 授权已经落地并实测可用:否则团队原有的提权习惯被切断,又拿不到替代路径,运维会直接卡住。

易错点

  • 只改了 /etc/pam.d/su 而漏掉 su-l 变体,部分登录路径仍可绕过限制
  • 先收紧 su 再配 sudo,中间出现无人可提权的窗口期,紧急运维被耽误
  • pam_wheel 行插入位置或控制标志写错,配置被 PAM 忽略,实测才发现根本没生效
  • 授权账户只加进了 wheel 组却没退出重新登录,组成员关系没进入当前会话,验证结果与实际不一致
  • 把 root 口令告知多人以便协调,限制 su 的意义被抵消,应改为按需授权 sudo 并保留审计

数据来源与参考

  • man 8 pam_wheel
  • 红帽安全指南(su 访问控制)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌