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)
如果你想找到的所有文件的用户具有某些权限(如果不管他是主人(甚至通过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没有拼错!