我有两个用户,爱丽丝和鲍勃。应该允许 Bob 列出ls
Alice 的主目录。 Alice 在她的主目录中也有一个文件,Bob 也应该可以读取该文件。
我以 root 身份运行以下命令:
[root@corvatsch ~]# setfacl -m user:bob:r /home/alice/
[root@corvatsch ~]# setfacl -m user:bob:r /home/alice/file
这会在 ACL 中产生以下结果:
[root@corvatsch ~]# getfacl -c /home/alice/
user::rwx
user:bob:r--
group::---
mask::r--
other::---
和
[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--
看起来鲍勃现在应该能够读取爱丽丝的主文件夹以及她的文件的内容。
当鲍勃尝试这样做时,他得到:
[bob@corvatsch ~]$ ls -l /home/alice/
ls: cannot access /home/alice/file: Permission denied
total 0
-????????? ? ? ? ? ? file
(注意问号!) 和
[bob@corvatsch ~]$ cat /home/alice/file
cat: /home/alice/file: Permission denied
看起来鲍勃可以读取主目录,尽管方式很奇怪。 ls 列出了该文件,但 ACL 似乎有问题?
并且cat
该文件似乎根本不起作用。
有人可以解释我缺少什么吗?
笔记:(我运行的是 CentOS 6.4)
答案1
该/home/alice/
目录需要访问它的用户可执行访问权限。
编辑:顺便说一句,问号表明ls
无法获得文件的权限。