/var/log/httpd
我在列出具有次要组成员资格的用户的目录内容时遇到问题dba
,即使有 ACL。不久前它曾经有用过。 (我相信你已经听说过那前。)
用户:oracle
团体:
[oracle] > groups
oinstall dba
当我尝试列出目录/var/log/httpd
或该目录中文件的内容时,我得到
[oracle] > ls -o /var/log/httpd/access.log
ls: cannot access /var/log/httpd/access.log: Permission denied
[oracle] > ls -o /var/log/httpd/
ls: cannot open directory /var/log/httpd/: Permission denied
所以我getfacl
对目录做了一个,得到了这个:
[oracle] > getfacl -p /var/log/httpd
# file: /var/log/httpd
# owner: root
# group: root
user::rwx
group::---
group:dba:r-x #effective:---
mask::---
other::---
当我getfacl
对该目录中的文件执行 a 操作时,我得到:
[oracle] > getfacl -p /var/log/httpd/access.log
getfacl: /var/log/httpd/access.log: Permission denied
我看过的东西:
getfacl
每个目录级别的命令列表:
[oracle] > ls -o /var/log/httpd/access.log
ls: cannot access /var/log/httpd/access.log: Permission denied
[oracle] > ls -o /var/log/httpd/
ls: cannot open directory /var/log/httpd/: Permission denied
[oracle] > ls /var/log/httpd/
ls: cannot open directory /var/log/httpd/: Permission denied
[oracle] > ls -d /var/log/httpd/
/var/log/httpd/
[oracle] > ls -ld /var/log/httpd/
drwx------+ 2 root root 4096 Jun 21 03:19 /var/log/httpd/
检查每个父目录级别的 ACL:
[oracle] > getfacl -p /var/log
# file: /var/log
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
[oracle] > getfacl -p /var
# file: /var
# owner: root
# group: root
user::rwx
group::r-x
Linux版本信息:
[oracle] > uname -a
Linux plxxxx01 4.14.35-1902.7.3.el7uek.x86_64 #2 SMP Thu Oct 31 10:06:41 PDT 2019 x86_64 x86_64 x86_64 GNU/Linux
阅读man
页面后,getfacl
我看到有关有效权限和掩码的信息,但我仍然不确定为什么有效权限适用#effective:---
于该dba
组。
答案1
这mask::---
就是问题所在。该值限制指定用户和指定组的权限。换句话说:无论设置group:dba:
是什么,该组永远不会获得任何权限。
你可以用以下方法纠正这个问题setfacl -m m:rwx /var/log/httpd