首页/系统/信创系统运维速查/SUID/SGID 文件清单核查
安全加固65 条

SUID/SGID 文件清单核查

带 SUID/SGID 位的可执行文件是提权面:基线要求掌握全部存量清单并定期比对差异;重点核对清单外、近期新增或位于可写目录中的条目。

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

为什么盯这两个权限位

SUID 位让可执行文件以文件属主身份运行,SGID 位让它以文件属组身份运行——这正是 passwd、sudo 这类工具能改系统文件的原因,也是提权攻击最直接的落点。基线管理要求不是消灭所有 SUID 文件,而是掌握完整存量清单,并持续比对差异:重点看清单外的、近期新增的、以及位于 /home、/tmp 等可写目录里的条目。

基本信息

SUID 扫描find / -xdev -type f -perm -4000 -print
SGID 扫描find / -xdev -type f -perm -2000 -print
组合与详情find / -xdev -type f -perm /6000 -ls
限定文件系统-xdev 避免跨挂载点,减少网络存储上的遍历
确认来源rpm -qf 文件路径(是否由软件包自带)
变更方式chmod u-s / g-s 去掉权限位

典型使用场景

  • 安全巡检时复核 SUID/SGID 清单与基线的差异
  • 入侵排查中寻找异常提权入口
  • 等保与内控检查要求提供权限位清单与处置记录
  • 系统交付前建立基线文件,为后续比对提供依据
  • 发现清单外条目后判断是业务需要还是遗留风险

扫描

扫描
find / -xdev -type f -perm -4000 -print 2>/dev/null      # SUID 文件清单
find / -xdev -type f -perm -2000 -print 2>/dev/null      # SGID 文件清单
find / -xdev -type f -perm /6000 -ls 2>/dev/null | head -60   # 组合扫描并显示权限、属主、时间
find / -xdev -type f -perm /6000 -newermt '-30 days' 2>/dev/null   # 只看近 30 天新增或变更的
find / -xdev -type f -perm /6000 -print 2>/dev/null > /opt/baseline/suid-sgid-$(date +%F).txt   # 落盘基线

核查与处理

核查与处理
rpm -qf /usr/bin/sudo              # 确认是否由软件包自带,自带的一般属正常设计
rpm -Vf /usr/bin/sudo 2>/dev/null | head   # 顺带校验该文件是否被改动过
ls -l /path/to/suspicious          # 看属主、时间与是否位于可写目录
chmod u-s /path/to/binary          # 评估确认不需要后去掉 SUID
chmod g-s /path/to/binary          # 去掉 SGID
diff <(cat /opt/baseline/suid-sgid-旧日期.txt) <(cat /opt/baseline/suid-sgid-新日期.txt)   # 差异即需排查项

核查优先级

特征风险处置思路
位于 /home、/tmp、/var/tmp任何可写目录下的提权点高度可疑,优先确认来源
近期新增或修改时间异常可能是新植入或被替换核对安装记录与包校验
rpm -qf 查不到归属非软件包管理,来源不明追查来源,必要时删除或移除权限位
包自带且被 rpm -V 标记为变更包内工具被改动重装该包恢复原始文件
业务自研程序带 SUID自有风险,需评估必要性评估是否可改为 sudo 授权方式
系统自带认证类工具正常设计纳入基线,无需处理
passwd、su、sudo、ping、mount 等自带 SUID 属正常设计:关注点是清单外的、来源不明的以及位于可写目录中的条目。
只扫一次没有意义:先留基线清单,之后按差异比对排查新增项,这样才能把有限的排查精力放在变化上。

易错点

  • 看到 SUID 文件就批量去权限位,导致认证、网络工具等依赖该位的功能失效,业务报障
  • 扫描之后不落盘基线,下次巡检又要重头比对,无法发现新增项
  • 扫描忘记加 -xdev,遍历到网络存储或挂载卷上耗时极长,还可能触发对端限制
  • 只关注 SUID 忽略 SGID,可写目录下带 SGID 的可执行文件同样是提权面
  • 对查不到包归属的文件直接删除,可能是业务自研程序,删掉后功能中断且难以恢复

数据来源与参考

  • man 1 find
  • RHEL 安全指南(SUID/SGID 核查)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌