为什么我看不到这个“可读”目录?

为什么我看不到这个“可读”目录?

今天,我的一位同事在安排新实习生工作时遇到了麻烦。我们的 IT 团队为实习生建立了一个帐户,但我们无法访问它。当我调查时,我发现:

$ ls -ld /acct/c33408
drwxr-xr-x    1 root     system            1 May 23 09:48 /acct/c33408

显然,设置帐户的管理员忘记更改所有者和组。然而令我困惑的是,帐户目录显示为每个人都可读和可搜索。但是,当我尝试查看其中内容时:

$ ls /acct/c33408
ls: /acct/c33408: The file access permissions do not allow the specified action.

类似地,尝试更改到该目录。

当权限似乎允许时,为什么它不向我显示该目录的内容?我查了一下,这个目录没有ACL。

这是一个 AIX 网络,该目录位于 NFS 挂载上。

答案1

我怀疑 NFS 文件系统根目录 (/acct/c33408) 的权限比存根目录的权限更严格。在挂载 NFS 文件系统之前,您可以检查存根目录权限,但是一旦触发自动挂载程序挂载 NFS 文件系统,新权限将不允许您的用户访问它。

我在本地测试了这个(使用不同的目录结构),结果类似:

# stub directory permissions
user@host/$ ls -ld /u/testdir
drwxr-xr-x    1 root     system            1 Jun  2 17:00 /u/testdir

# trigger automount as root
user@host/$ sudo -s 
root@host/# cd /u/testdir
root@host/u/testdir# exit

# NFS permissions
user@host/$ ls -ld /u/testdir
drwx------    2 root     somegroup          4096 Dec  1 2015  /u/testdir

# ls on the NFS mountpoint as a regular user
user@host:/$ ls -l /u/testdir
ls: /u/testdir: Permission denied
total 0

相关内容