linux权限排查应聚焦高风险suid/sgid可执行文件,用find筛选后人工验证路径、属主、类型及修改时间,警惕非标准位置与敏感工具,再交叉检查全局可写文件等其他异常权限。

Linux权限排查的关键不是盲目扫全盘,而是聚焦高风险权限模式,用find快速筛出异常项,再人工确认是否真实可疑。
查SUID/SGID可执行文件
这类文件最易被用于提权,必须优先检查。只找普通文件,排除目录和链接:
- 找所有SUID文件:sudo find / -type f -perm -4000 2>/dev/null
- 找所有SGID文件:sudo find / -type f -perm -2000 2>/dev/null
- 同时查两者(更全面):sudo find / -xdev -type f \( -perm -4000 -o -perm -2000 \) 2>/dev/null
-xdev跳过挂载点(如/proc、/sys),避免卡死;2>/dev/null过滤无权访问报错,让结果干净可读。
盯紧高危路径与非标准属主
不是所有SUID都危险,但出现在这些位置的,基本要立即核查:
- /tmp、/var/tmp、/dev/shm:正常系统不应存在SUID二进制,发现即高度可疑
- /usr/local/bin、/opt、/home/*/.local/bin:第三方或用户自建路径,SUID文件大概率非官方
- 属主不是root或系统账户(如bin、daemon):比如属主是nobody、www-data或普通用户名,风险陡增
示例命令(查非root属主的SUID ELF):sudo find /usr -type f -perm -4000 ! -user root -exec file {} \; 2>/dev/null | grep -i 'ELF.*executable'
验证是否真为可利用的二进制
仅靠权限不能断定风险——有些SUID脚本实际无法提权。加file确认类型更可靠:
- 一行筛选SUID且为ELF可执行:sudo find / -type f -perm -4000 -exec sh -c 'file "$1" | grep -q "ELF.*executable" && echo "$1"' _ {} \; 2>/dev/null
- 对每个结果补查:ls -l /path/to/file 看权限、大小、修改时间;file /path/to/file 确认格式
- 敏感工具需特别警惕:bash、sh、python、vim、find、cp、awk等,只要带SUID就极可能被用来反弹shell
顺手排查其他典型权限问题
除SUID/SGID外,这几类也常暴露入侵痕迹或配置失误:
- 全局可写文件:find / -type f -perm -o+w 2>/dev/null(尤其关注/etc/cron.*、/var/spool/cron下非root属主的文件)
- 近期被篡改的权限位:find / -type f -mmin -5 -perm /4000 2>/dev/null(过去5分钟内新增SUID位)
- 关键目录下权限偏离标准:find /etc -type f -uid 0 ! -perm 644 -ls 2>/dev/null(如root拥有的配置文件不该是777)
每条结果都要交叉验证:看路径是否合理、属主是否可信、内容是否匹配功能。不复杂但容易忽略——权限只是起点,不能只信find输出。











