根据权限查找文件

Ava*_*eka 15 permissions command-line find

如何找到具有某些特定权限的文件列表?

我想查找拥有所有者权限的root用户拥有的文件rwx

有没有办法找到此类文件的列表?我正在使用 Ubuntu 16.04。

ter*_*don 23

是的,GNUfind可以做到:

-用户名

文件归用户 uname 所有(允许使用数字用户 ID)。

-烫发模式

为文件设置了所有权限位模式。这种形式接受符号模式,这通常是您希望使用它们的方式。如果使用符号模式,则必须指定 'u'、'g' 或 'o'。有关一些说明性示例,请参阅示例部分。

所以你要:

find /path/to/directory -user root -perm -u+rwx
Run Code Online (Sandbox Code Playgroud)


gun*_*ert 5

如果你想找到的所有文件的用户具有某些权限(如果不管他是主人(甚至通过ACL设置)),可以使用find-readable-writable-executable

查找用户sam具有读取权限的所有文件

sudo -u sam find /path/to/directory -readable -ls
Run Code Online (Sandbox Code Playgroud)
  • sudo -u sam是需要的,因为提到的三个开关与调用的用户的权限一起工作find- 因此您需要 sudo 以find用户sam身份运行。
  • -ls 显示找到的每个文件的完整条目

更多示例
查找sam拥有execute write权限的所有文件

sudo -u sam find /path/to/directory -writable -or -executable -ls
Run Code Online (Sandbox Code Playgroud)

查找sam拥有的所有文件execute read权限

sudo -u sam find /path/to/directory -readable -and -executable -ls
Run Code Online (Sandbox Code Playgroud)

writable没有拼错!