ACL이 설정되어 있어도 디렉터리의 파일을 읽을 수 없습니다.

ACL이 설정되어 있어도 디렉터리의 파일을 읽을 수 없습니다.

/var/log/httpddbaACL을 사용하더라도 보조 그룹 멤버십이 있는 사용자의 디렉토리 콘텐츠를 나열하는 데 문제가 있습니다 . 얼마 전까지만 해도 유용했습니다. (나는 당신이 들었을 것이라고 확신합니다저것앞으로. )

사용자: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

리눅스 버전 정보:

[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

관련 정보