如何在Linux上查看文件是否可以被特定用户读取?

我有一个复杂的文件层次结构,我不想检查每个目录的权限。 有一种方法可以立即找出一个文件是否可以被给定的用户读取? (以该用户身份login之外)

这只有在您拥有root权限的情况下才有效


如果用户有一个有效的loginshell

su username -c 'ls /long/dir/user/filename'

如果用户有一个nologin shell /sbin/nologin和类似的:

su username -s /bin/sh -c 'ls /long/dir/user/filename'

要找出用户无法访问文件的原因(使用权限构build可读的输出树):

 #namei -om / home / someuserhomedir / Maildir /

 f:/ home / someuserhomedir / Maildir /
 dr-xr-xr-x root root /
 drwxr-xr-x根目录
 drwx ------ someuser somegroup someuserhomedir
 drwx ------ someuser somegroup Maildir