首页/安全/安全加固速查/su 限制到 wheel 组(pam_wheel)
主机加固基线90 条

su 限制到 wheel 组(pam_wheel)

通过 PAM 的 pam_wheel 模块仅允许 wheel 组成员使用 su,阻止普通账号借他人口令切换到特权账号;这是等保访问控制项在主机的常规落点。

安全加固速查安全更新于 2026-10-13

su 与 pam_wheel

su 的默认行为是:只要知道目标账号的口令,任何人都能切过去。这意味着一个口令泄露的运维账号,就能让人获得 root 会话。pam_wheel 模块把 su 的使用者限定在指定组内,通常就是 wheel(RHEL 系)或 sudo 组(Debian 系),从而把「知道口令」这条路收紧成「知道口令且在授权组内」。这是等保访问控制条款在主机上的常规落点。

基本信息

加固项su 命令的访问控制
适用平台Linux(RHEL/CentOS/Debian/Ubuntu,PAM)
风险等级中
配置文件/etc/pam.d/su
依赖pam_wheel 模块,随 Linux-PAM 提供

典型使用场景

  • 权限收敛:只允许授权运维成员使用 su,普通账号无法尝试切换
  • 等保整改:访问控制条款要求对特权操作做限制与最小授权
  • 事件后加固:发现有人用普通账号长期 su 到 root 后收紧
  • 新机器初始化:把 pam_wheel 与 sudoers 一起纳入基线模板
  • 人员离场处理:从 wheel 组移除账号即可同步收回 su 权限

核查:当前 pam_wheel 配置

核查:当前 pam_wheel 配置
grep -n pam_wheel /etc/pam.d/su          # RHEL 系默认这行是注释状态
grep -rn pam_wheel /etc/pam.d/ 2>/dev/null   # 其他服务若引用也要一起看
getent group wheel 2>/dev/null || getent group sudo   # 确认授权组成员
groups alice                             # 确认某个账号的实际组

加固:启用限制

加固:启用限制
# /etc/pam.d/su,取消注释或新增(RHEL/CentOS)
auth required pam_wheel.so use_uid
# Debian/Ubuntu 上更明确地写成组名
auth required pam_wheel.so group=wheel

把运维成员加入授权组

把运维成员加入授权组
usermod -aG wheel alice      # RHEL 系
usermod -aG sudo alice       # Debian/Ubuntu 更常见
groups alice                 # 复核,需要重新登录才生效
cp /etc/pam.d/su /root/pam.su.bak.$(date +%F)   # 改动前留副本

发行版差异对照

发行版常用授权组pam.d/su 写法
RHEL/CentOSwheelauth required pam_wheel.so use_uid
Debian/Ubuntusudo 或 wheelauth required pam_wheel.so group=wheel
说明组名不同但机制相同以发行版惯例为准,勿照抄
改 PAM 前先备份原文件并保留一个已登录的 root 会话:PAM 配置写错可能直接锁死所有登录路径,而 PAM 的报错信息通常只在认证失败时体现,不易定位。
RHEL 8 及以上更推荐用 authselect(旧版用 authconfig)来管理 PAM 与 faillock、pwquality 等模块,直接编辑 /etc/pam.d/su 在系统升级或执行 authselect 切换时会丢失,需在本机约定中明确采用哪种方式。

与 sudo 策略一起看

限制 su 只是把一条路径关窄。完整的访问控制还要看 sudoers:谁可以提权、是否需要口令、有无免密条目。两者要一起核查,否则限制住 su 却留着 NOPASSWD 的 sudo 条目,等于上一把锁却打开旁边的门。

易错点

  • Ubuntu 习惯用 sudo 组而不是 wheel:直接照抄 RHEL 写法会导致授权成员全被挡在门外,先确认发行版惯例
  • 启用限制前没把运维成员加进组:限制生效后即使口令正确也无法 su,上线前必须核对完整成员名单
  • 直接编辑 /etc/pam.d/su 而不用 authselect:系统升级或策略切换后配置被覆盖,限制静默失效
  • 改 PAM 不保留已登录会话:配置写错会锁死登录,操作前必须留一个可用的 root 会话与带外通道
  • 只看 su 不看 sudo:提权入口有多条,单项加固不能代表整体权限已收敛

数据来源与参考

  • pam_wheel(8) 手册(Linux-PAM)
  • CIS Linux Benchmark:Restrict su command

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌