find / -type f -perm -4000 2>/dev/null可快速定位SUID文件,需排除临时目录、非常规路径及非默认位置的高危工具副本,并通过ls、file和日志分析确认风险后再去权处理。

直接用 find 命令递归扫描整个系统,配合权限筛选参数,就能快速定位所有带 SUID 位的二进制文件。关键不是“找出来就行”,而是要排除干扰、聚焦可执行文件、避开无权访问路径,再结合人工判断哪些真正可疑。
核心命令写法与说明
最常用且有效的命令是:
find / -type f -perm -4000 2>/dev/null
这条命令的含义是:
- /:从根目录开始搜索,确保不遗漏系统关键路径
- -type f:只匹配普通文件,排除目录、设备、符号链接等干扰项
- -perm -4000:查找权限位中“包含”SUID(即所有者执行位被设为 s)的文件。注意是 -4000,不是 +4000 或 4000
- 2>/dev/null:把“Permission denied”这类报错信息丢进黑洞,避免刷屏掩盖真实结果
更严谨的写法(兼顾 SUID 和 SGID)
有些后门会同时滥用 SUID 和 SGID,建议一次查全:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
find / -xdev -type f \( -perm -4000 -o -perm -2000 \) 2>/dev/null
其中:
- -xdev:不跨文件系统搜索(跳过 /proc、/sys、挂载的 NFS 等),避免卡死或报错
- \( ... -o ... \):括号需转义,表示“SUID 或 SGID”两个条件任一满足
- -2000:对应 SGID 权限位,常被用于提权或维持权限
识别结果里哪些值得警惕
输出列表本身只是线索,真正危险的是那些本不该有 SUID 却被赋予了的程序。重点关注以下几类:
- 位于 /tmp、/var/tmp、/dev/shm 等临时目录下的二进制文件(如
/tmp/.woot) - 名字非常规、路径生僻的可执行文件(如
/opt/xyz/bin/helper) - 常见工具但非系统默认路径的副本(如
/usr/local/bin/bash,而标准路径应是/bin/bash) - 已知高危类型:bash、sh、python、perl、vim、nano、find、cp、mv、awk、less、more、cat —— 这些只要带 SUID 就极可能被用来反弹 shell 或读取敏感文件
后续该怎么做
找到可疑文件后,不要立刻删除。先做三件事:
- 运行 ls -l /path/to/file 查看属主、大小、修改时间,判断是否为近期创建
- 用 file /path/to/file 确认是不是真实二进制,还是脚本伪装
- 查进程和日志:ps aux | grep -i [filename]、journalctl -u systemd --since "2 hours ago" | grep -i [filename],看是否正在被调用
确认为恶意后,用 chmod u-s /path/to/file 去掉 SUID 位,再根据情况决定是否删除或隔离分析。

















