ACL 보호 디렉터리에 액세스하려고 하면 ls에서 오류가 발생합니다.

ACL 보호 디렉터리에 액세스하려고 하면 ls에서 오류가 발생합니다.

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디렉터리에 대한 액세스 권한이 있어야 합니다. 제가 뭔가 오해한 게 있나요? 이 문제를 어떻게 해결할 수 있나요?

답변1

문제는 다음 ACL에 있습니다 /etc/jobq.

user:jobq:rw-

이는 사용자가 jobq디렉토리를 "검색"할 수 없어 ls해당 내용이 표시되지 않음을 의미합니다.

이 문제를 해결하려면 권한을 추가해야 합니다 x. 바라보다비트를 실행하고 읽습니다. Linux에서 디렉토리 권한은 어떻게 작동합니까?더 알아보기.

당신은 또한 볼 수 있습니다"그룹" 권한은 제한하고 "전 세계" 권한은 공개하시겠습니까?여기서 그룹 권한이 도움이 되지 않는 이유를 이해하세요. 따라서 또 다른 해결책은 사용자 ACL을 제거 jobq하고 대신 그룹 권한을 사용하는 것입니다.

관련 정보