ren*_*ren 13 permissions find files
如何确定给定用户可以写入的所有文件和文件夹?用户是nobody。也许是 bash 或 python 中的一些脚本?我正在使用 Ubuntu 11.04
Kus*_*nda 16
find / '(' -type f -o -type d ')' \
'(' '(' -user nobody -perm -u=w ')' -o \
'(' -group nobody -perm -g=w ')' -o \
'(' -perm -o=w ')' ')' -print
Run Code Online (Sandbox Code Playgroud)
这将找到属于nobody其所有者可写的所有文件和目录,或属于nobody可写组的所有文件和目录,以及任何人可写的所有文件或目录。
不过,这只会考虑主要组。
由于将此概括为考虑次要组(和 ACL 等)将导致更笨拙的find表达式,GNUfind用户可以使用
find / '(' -type f -o -type d ')' \
'(' '(' -user nobody -perm -u=w ')' -o \
'(' -group nobody -perm -g=w ')' -o \
'(' -perm -o=w ')' ')' -print
Run Code Online (Sandbox Code Playgroud)
这将报告当前用户可写的所有目录。要使用相同的简短语法查找其他用户可写的目录,请使用sudo -u username find ...,即在运行之前更改为该其他用户find(但请参阅相关问题的答案以了解警告和更好的替代方案)。