www-data
我试图在另一个用户拥有的子目录中以及“FreeBSD”服务器上找到所有不可读的“ACL-wise” 。该服务器阻止我使用该命令find . ! -readable
如何找到目录中所有不可读(当前用户)的文件?
答案1
你总是可以这样做:
find . -exec sh -c '
for file do
[ -r "$file" ] || printf "%s\n" "$file"
done' sh {} +
列出文件你没有读取权限。
请注意,对于符号链接,它会检查符号链接的目标。
显然,它也不会报告您没有读取权限的目录中的文件(其中可能包含您具有读取权限的文件(前提是您对该目录具有搜索权限)和/或您没有读取权限的文件)。
在 FreeBSD 上,您还应该能够执行以下操作:
find . -print0 | perl -Mfiletest=access -l -0ne 'print unless -r'
或者
sudo find . -print0 | perl -Mfiletest=access -l -0ne 'print unless -r'
还列出您没有读取权限的目录中的文件。
(POSIX既没有指定sudo
,-print0
也没有指定)。perl