두 명의 사용자(Alice와 Bob)가 있습니다. Bob은 ls
Alice의 홈 디렉터리를 나열할 수 있어야 합니다 . 또한 Alice의 홈 디렉터리에는 Bob도 읽을 수 있는 파일이 있습니다.
루트로 다음 명령을 실행합니다.
[root@corvatsch ~]# setfacl -m user:bob:r /home/alice/
[root@corvatsch ~]# setfacl -m user:bob:r /home/alice/file
그러면 ACL에 다음과 같은 결과가 생성됩니다.
[root@corvatsch ~]# getfacl -c /home/alice/
user::rwx
user:bob:r--
group::---
mask::r--
other::---
그리고
[root@corvatsch ~]# getfacl -c /home/alice/file
getfacl: Removing leading '/' from absolute path names
user::rw-
user:bob:r--
group::r--
mask::r--
other::r--
이제 Bob은 Alice의 홈 폴더와 파일 내용을 읽을 수 있는 것 같습니다.
Bob이 이 작업을 시도하면 다음과 같은 결과를 얻게 됩니다.
[bob@corvatsch ~]$ ls -l /home/alice/
ls: cannot access /home/alice/file: Permission denied
total 0
-????????? ? ? ? ? ? file
(물음표에 주목하세요!) 그리고
[bob@corvatsch ~]$ cat /home/alice/file
cat: /home/alice/file: Permission denied
비록 이상한 방법이기는 하지만 Bob이 홈 디렉토리를 읽을 수 있는 것 같습니다. ls가 파일을 나열하지만 ACL에 문제가 있는 것 같나요?
그리고 cat
파일이 전혀 작동하지 않는 것 같습니다.
누군가 내가 놓친 것을 설명해 줄 수 있습니까?
노트:(저는 CentOS 6.4를 실행하고 있습니다)
답변1
이 /home/alice/
디렉터리에 액세스하는 사용자는 실행 가능한 액세스 권한이 필요합니다.
편집: 그런데 물음표는 ls
파일에 대한 권한을 얻을 수 없음을 나타냅니다.