查找用户的可写文件和目录

查找用户的可写文件和目录

如何确定给定用户可以写入的所有文件和文件夹?用户是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(但请参阅相关问题的答案以获得注意事项和更好的替代方案)。

相关内容