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

Oin*_*Oin 4 linux file-permissions

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

Mar*_*ino 12

这仅在您拥有 root 权限时才有效


如果用户有一个有效的登录 shell

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

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

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

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

# namei -om /home/someuserhomedir/Maildir/

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

  • 如果你想弄清楚为什么你不能访问文件使用`namei`:`sudo -u user namei -m /long/dir/user/filename` (2认同)