![짧은 답변](https://linux55.com/image/148596/%EC%A7%A7%EC%9D%80%20%EB%8B%B5%EB%B3%80.png)
파일에 read
사용자의 일반 권한이 있는 경우남자write
이며 사용자의 ACL 권한도 가지고 있습니다.남자, 이 경우에는 어떻게 되나요?
- 일반 권한만 적용됩니까(따라서 파일에는
read
권한만 있음)? - 아니면 ACL 권한만 적용하시겠습니까(그래서 파일에는
write
권한만 부여됨)? read
아니면 두 가지 권한이 모두 적용됩니까(따라서 파일에 및 권한이 모두 부여됨write
)?
답변1
짧은 답변
ACL은 Traditional의 상위 집합이므로 둘 다 가질 수는 없습니다(Traditional은 ACL의 일부이기 때문).
더 긴 답변입니다.
먼저 시도해 보겠습니다.
#> chmod ug-w aab
#> setfacl -m u:me:w aab
#> getfacl aab
# file: aab
# owner: me
# group: me
user::r--
user:me:-w- #effective:---
group::r--
mask::r--
other::r--
그렇다면 user:me의 ACL이 유효하지 않은 이유는 무엇입니까?
이를 설명하기 위해 전통적인 권한을 살펴볼 수 있습니다.
여기에 나열된 파일이 있는 경우
-r---w---- 1 me me 0 Feb 21 09:41 abc
그러면 읽을 수는 있지만 쓸 수는 없습니다. 왜 이런거야?
OS는 먼저 나를 소유자와 연결하려고 시도한 다음 그룹, 그 다음에는 다른 모든 사람과 연결하려고 시도합니다. 내 주인과 나는 완벽한 짝입니다. 그런 다음 이러한 권한을 적용합니다.그러면 내 그룹 권한이 병합되지 않습니다.
ACL을 사용할 때 추가 권한은 그룹 권한의 일부이므로 소유자가 사용할 수 없습니다.
내 생각에 ACL은 같은 방식으로 구문 분석됩니다. 즉, 자신이 속한 그룹을 찾아 권한을 적용하는 것입니다. (허가 없이 병합).
사용자가 다른 경우
이렇게 하면 #> setfacl -m u:anotherUser:w aab
이 권한이 (해당 사용자에 대해) 먼저 발견되어 적용되었기 때문에 귀하의 권한이 적용됩니다.