如何确定给定用户可以写入的所有文件和文件夹?用户是nobody
.也许是 bash 或 python 中的一些脚本?我使用的是 Ubuntu 11.04
答案1
find / '(' -type f -o -type d ')' \
'(' '(' -user nobody -perm -u=w ')' -o \
'(' -group nobody -perm -g=w ')' -o \
'(' -perm -o=w ')' ')' -print
这将找到属于nobody
其所有者可写的所有文件和目录,或属于组nobody
可写的组的所有文件和目录,以及任何人都可写的所有文件或目录。
但这只会考虑主要群体。
由于将其推广到考虑辅助组(和 ACL 等)会导致更加笨拙的find
表达式,GNUfind
用户可以使用
find / -type d -writable -print
这将报告所有可写的目录当前的用户。要使用相同的简短语法来查找其他用户可写的目录,请使用sudo -u username find ...
,即在运行之前更改为该其他用户find
(但请参阅相关问题的答案以获得注意事项和更好的替代方案)。