짧은 답변

짧은 답변

파일에 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이 권한이 (해당 사용자에 대해) 먼저 발견되어 적용되었기 때문에 귀하의 권한이 적용됩니다.

관련 정보