我用setfacl设置了一个目录和一些文件。
jobq@workstation:~/Pool$ getfacl /etc/jobq
getfacl: Removing leading '/' from absolute path names
# file: etc/jobq
# owner: root
# group: jobq
user::rwx
user:jobq:rw-
group::r-x
group:jobq:rwx
mask::rwx
other::r-x
jobq@workstation:~/Pool$ sudo getfacl /etc/jobq/log.txt
getfacl: Removing leading '/' from absolute path names
# file: etc/jobq/log.txt
# owner: root
# group: jobq
user::rw-
group::rw-
group:jobq:rwx
mask::rwx
other::r--
jobq@workstation:~/Pool$ groups
jobq但是,当我运行命令时,就像
ls -al /etc/jobq我得到了许可错误:
ls: cannot access '/etc/jobq/log.txt': Permission denied
total 0
d????????? ? ? ? ? ? .
d????????? ? ? ? ? ? ..因为用户jobq在组jobq中,所以他们应该可以访问目录。我误会什么了?我怎么才能解决这个问题?
发布于 2022-06-21 06:42:11
问题来自于/etc/jobq上的这个ACL:
user:jobq:rw-这意味着用户jobq不能“搜索”目录,这就是阻止ls显示其内容的原因。
要解决这个问题,您需要添加x权限。详情请参见执行对读取位.Linux中的目录权限是如何工作的?。
还请参阅限制“组”权限而打开“世界”权限?以了解为什么组权限在这里没有帮助。因此,另一种解决方案是删除jobq的用户ACL,转而依赖组权限。
https://unix.stackexchange.com/questions/706922
复制相似问题