首页/安全/安全加固速查/无属主文件核查(-nouser / -nogroup)
主机加固基线90 条

无属主文件核查(-nouser / -nogroup)

无属主文件通常来自被删除账号或恢复操作错误;新账号一旦复用相同 UID/GID,就可能意外接管这些文件,也是入侵痕迹排查的一部分。

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

无属主文件的来历与风险

文件的 UID/GID 在 /etc/passwd、/etc/group 中找不到对应名字时,ls 会直接显示数字,这类文件叫无属主(-nouser/-nogroup)文件。常见成因是删除账号时只清了家目录,或从别的机器恢复归档时 UID 对不上。风险有两处:新账号一旦复用同一 UID,就会顺带接管这些文件;攻击者留下的工具与后门也常表现为无属主,所以它同时是入侵排查项。

基本信息

加固项消除无属主文件与目录
适用平台Linux(RHEL/CentOS、Debian/Ubuntu)
权限要求root(普通用户读不到全网文件)
达标判据全盘扫描结果为空或均已确认归类
基线对应CIS Linux Benchmark:no unowned files or directories

典型使用场景

  • userdel 删号之后立刻做一次收尾核查
  • 主机基线巡检,与全局可写、SUID 异常文件一起排查
  • 从备份或镜像恢复数据后确认 UID 映射是否一致
  • 应急响应中寻找攻击者上传的工具与计划任务脚本
  • 更换集中认证(LDAP/SSSD)后排查本地 UID 缺失带来的悬空文件

核查:全盘找无属主

核查:全盘找无属主
find / -xdev \( -nouser -o -nogroup \) -print 2>/dev/null | head -50   # 本文件系统内扫描,先看前 50 条
find / -xdev \( -nouser -o -nogroup \) -print 2>/dev/null | wc -l      # 统计总量,便于跟踪收敛进度
ls -ln /path/to/orphan   # -n 直接显示数字 UID/GID,确认真实归属数字

处置:核实后归位

处置:核实后归位
getent passwd 1001        # 反查:该 UID 现在是否有账号
chown -R root:root /path/to/orphan   # 确认是废弃文件后收归 root
tar czf /root/orphan-$(date +%F).tar.gz /path/to/orphan   # 可疑文件先打包留证再动

来源判断与对策

现象常见来源建议动作
/home 下数字属主目录删号未清家目录备份后删除或重新归属
/var/spool、/var/log 下残留邮件池、日志遗留核实后归属对应服务账号
web 目录数字属主文件攻击者上传或部署脚本按应急流程取证,不要直接删
挂载点内大量数字属主NFS/SMB 侧 UID 无映射先排除网络挂载误报
NFS 挂载里远端 UID 在本地没有映射时会整片报无属主,属于误报。判断前先看 findmnt、排除网络挂载,或对单机本地文件系统(-xdev)分别扫描,避免把正常共享目录当成风险处置掉。
userdel -r 只清家目录与邮件池,散落在 /opt、/srv、/var/www 等位置的文件会就此悬空。规范做法是删号流程里固定带上这条核查命令,把“删号”和“清理悬空文件”绑成一步。

易错点

  • 看到无属主就批量 chown root:会把可疑文件也一并“洗白”,破坏取证证据,应先定位来源账号
  • 只扫描根目录不跨文件系统或用 -xdev 遗漏独立分区:数据盘上的无属主文件常被漏掉
  • 把 UID 复用当成无害操作:新账号接手旧文件可能读到历史配置中的凭据
  • 在挂载的网络目录上执行 chown,可能意外改写远端文件属主,动手前确认文件系统类型

数据来源与参考

  • CIS Linux Benchmark:Ensure no unowned files or directories exist
  • find(1) 手册

相关工具

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