Files

查找使用者的可寫文件和目錄

  • September 25, 2020

如何確定給定使用者可以寫入的所有文件和文件夾?使用者是nobody。也許是 bash 或 python 中的一些腳本?我正在使用 Ubuntu 11.04

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(但請參閱相關問題的答案以獲取警告和更好的替代方案)。

引用自:https://unix.stackexchange.com/questions/22421