Linux查找全局可写文件命令
利用linux find命令,帮忙写一个组合命令搜索Linux系统中全局可写文件,排除掉/proc和/sys目录
要搜索Linux系统中全局可写的文件(包括目录),同时排除 /proc 和 /sys 目录,可以使用以下组合命令:
1 | sudo find / -path /proc -prune -o -path /sys -prune -o ! -type l -perm -0002 -print 2>/dev/null |
命令详解:
sudo
以管理员权限运行,确保能访问所有系统文件。find /
从根目录开始搜索。排除目录逻辑
-path /proc -prune -o:若路径是/proc,则跳过整个目录(-prune),否则(-o)继续后续条件。-path /sys -prune -o:同上,跳过/sys目录。
筛选目标文件
! -type l:排除符号链接(因为符号链接的权限无关紧要)。-perm -0002:匹配其他用户(others)有写权限的文件(权限位0002表示other可写)。
输出与错误处理
-print:打印符合条件的文件路径。2>/dev/null:将错误信息(如权限不足)重定向到空设备,避免干扰输出。
关键选项说明:
- **
-prune**:跳过整个目录树,高效排除/proc和/sys。 -perm -0002:-表示权限位必须包含0002(即other写权限必须存在)。- **
! -type l**:忽略符号链接,聚焦实际文件/目录。
示例输出:
1 | /var/tmp/example |
注意事项:
- 运行权限:必须使用
sudo确保访问所有目录。 - 安全警告:结果可能包含系统关键文件,修改前需确认风险。
- 扩展需求:若需更详细输出(如文件属性),可将
-print替换为-ls。
此命令高效且精准,适用于系统安全审计或排查全局可写文件。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Helloeuler!
