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!