ACL、ls、“权限被拒绝”和很多问号

rao*_*son 5 ls acl permissions directory

我有两个用户,Alice 和 Bob。应该允许 Bob 列出lsAlice 的主目录。Alice 在她的主目录中还有一个文件,Bob 也应该被允许读取该文件。

我以 root 身份运行这些命令:

[root@corvatsch ~]# setfacl -m user:bob:r /home/alice/
[root@corvatsch ~]# setfacl -m user:bob:r /home/alice/file
Run Code Online (Sandbox Code Playgroud)

这会在 ACL 中产生以下结果:

[root@corvatsch ~]# getfacl -c /home/alice/
user::rwx
user:bob:r--
group::---
mask::r--
other::---
Run Code Online (Sandbox Code Playgroud)

[root@corvatsch ~]# getfacl -c /home/alice/file
getfacl: Removing leading '/' from absolute path names
user::rw-
user:bob:r--
group::r--
mask::r--
other::r--
Run Code Online (Sandbox Code Playgroud)

看起来 Bob 现在应该能够读取 Alice 的主文件夹以及她的文件的内容。

当 Bob 尝试这样做时,他会得到:

[bob@corvatsch ~]$ ls -l /home/alice/
ls: cannot access /home/alice/file: Permission denied
total 0
-????????? ? ? ? ?            ? file
Run Code Online (Sandbox Code Playgroud)

注意问号!)和

[bob@corvatsch ~]$ cat /home/alice/file
cat: /home/alice/file: Permission denied
Run Code Online (Sandbox Code Playgroud)

看起来 Bob 可以读取主目录,尽管方式很奇怪。ls 列出了文件,但似乎 ACL 有问题?

并且cating 文件似乎根本不起作用。

有人可以解释我缺少什么吗?

注意:(我正在运行 CentOS 6.4)

Fre*_*rdt 8

/home/alice/目录需要访问它的用户的可执行权限。

编辑:顺便说一句,问号表示ls无法获得文件的权限。