Linux命令行 - 列出所有不可访问的文件和文件夹

时间:2014-10-17 19:45:44

标签: linux command-line find

我正在尝试列出我无权阅读和修改的所有文件和文件夹。

谢谢

2 个答案:

答案 0 :(得分:2)

文件确实有三种权限。一个用于文件的所有者,一个用于文件所属的组成员,一个用于每个人。您的某个组无法读取/写入且您的用户无法读取/写入的所有人都无法读取/写入的文件可以通过以下查找方式找到:

$ find / '( -not -perm -o+w,o+r ) -and ( -not -group <groupname> -perm -g+w,g+r ) -and ( -not -user <username> -perm -u+w,u+r )'

如果你需要检查更多组,你可以在第二个括号内扩展术语:

$ find / '( -not -perm -o+w,o+r ) -and ( -not -group <groupname> -perm -g+w,g+r -not -group <group2> ) -and ( -not -user <username> -perm -u+w,u+r )'

答案 1 :(得分:0)

使用find列出所有文件

find searchpath

忽略输出,因为只有错误才是您感兴趣的内容。

find searchpath >/dev/null

使用awk获取所有文件的漂亮列表

find searchpath 2>&1 >/dev/null | awk '{ print substr($2,2,length($2)-3) }'

请注意,这假设所有文件的名称中都没有空格,只需更改awk sctipt即可处理。