我在列出目录/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
时,我得到:
[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
之后,我看到了关于有效权限和掩码的信息,但是我仍然不知道为什么有效权限是dba
组的#effective:---
。
发布于 2020-06-25 20:56:13
mask::---
是问题所在。此值限制命名用户和命名组的权限。换句话说:无论group:dba:
的设置是什么,组都不会获得任何权限。
您可以使用setfacl -m m:rwx /var/log/httpd
纠正这一问题。
https://unix.stackexchange.com/questions/595104
复制相似问题