getfacl에 user:lee:rw-와 mask::r--가 함께 있다면, lee의 항목 자체는 읽기와 쓰기를 요청하지만 mask가 쓰기를 제한합니다. 따라서 실제 effective 권한은 r--이며 읽기는 가능하고 쓰기는 허용되지 않습니다.
ACL 판단은 사용자 항목 하나만 읽어 끝내지 않습니다. 사용자와 그룹 항목 중 누가 접근 검사에 해당하는지, mask가 있는지, 파일시스템이 ACL을 지원하는지 확인해야 합니다. 아래 출력은 직접 만든 교육 예시이며 공식 기출이나 판매 카드 원문이 아닙니다.
ACL 출력에는 권한 요청과 상한이 함께 보입니다
전통적인 소유자·그룹·기타 세 칸만으로 구별하기 어려운 사용자를 POSIX ACL의 named-user 항목으로 지정할 수 있습니다. 예를 들어 user:lee:rw-는 lee에 대해 읽기와 쓰기를 적은 항목입니다. 그러나 named-user 권한이 그대로 허용된다는 뜻은 아닙니다. ACL mask가 있으면 이 항목과 named-group 항목에 적용되는 최대 권한을 함께 계산합니다.
rwx 교집합으로 실제 권한을 계산합니다
| ACL 항목 | 표시 권한 | mask 적용 | effective |
|---|---|---|---|
| user:lee | rw- | r-- | r-- |
| group:reviewers | rwx | r-- | r-- |
| mask | r-- | 상한 | r-- |
각 권한을 숫자로 바꾸면 lee 항목 rw-는 6, mask r--는 4입니다. 두 권한의 비트 교집합은 4이므로 읽기만 남습니다. 쓰기 비트 2는 ACL 항목에 있었지만 mask에는 없었습니다. getfacl은 환경에 따라 effective:r--라는 주석으로 이 제한을 표시할 수 있습니다. 주석이 보이지 않더라도 권한 계산에서 mask를 빼먹어서는 안 됩니다.
누가 일치하는 항목인지 먼저 정합니다
ACL 검사에서는 파일 소유자, 정확히 일치하는 named user, 파일 그룹에 해당하는 항목들, 기타 순으로 어떤 범주가 적용되는지 봅니다. lee가 파일 소유자가 아니라 named user로 일치한다면 user:lee 항목을 적용하고, 그 권한은 mask를 넘을 수 없습니다. 사용자가 여러 그룹에 속한다고 모든 항목의 권한을 무조건 더하는 방식도 아닙니다. 실제 접근 주체의 UID·그룹과 파일 ACL을 함께 맞춰야 합니다.
- 파일 소유자 UID와 접근 계정을 비교합니다.
- 소유자가 아니면 정확히 일치하는 named-user 항목이 있는지 봅니다.
- named-user나 그룹 항목에 적용될 ACL mask를 찾습니다.
- 항목과 mask의 rwx 교집합으로 effective 권한을 계산합니다.
- 마지막으로 파일시스템·마운트·상위 디렉터리의 경로 통과 권한을 별도로 확인합니다.
chmod 뒤에는 ACL도 다시 읽어야 합니다
확장 ACL이 있는 파일에서 chmod로 그룹 권한을 바꾸면, 보이는 세 자리 mode만 변하는 것이 아니라 ACL mask 또는 대응되는 ACL 항목에 영향을 줄 수 있습니다. 따라서 변경 뒤에는 ls -l의 권한 문자열과 끝의 + 표시만으로 named-user의 쓰기 허용 여부를 판정하지 마세요. 승인된 점검 과정에서는 getfacl로 named-user, group, mask를 다시 확인하고, 결과가 기대한 업무 권한과 일치하는지 검토합니다.
# 교육용 예시 출력
user:lee:rw-
group:reviewers:rwx
mask::r--
other::---항목의 권한만 보고 쓰기 가능이라고 답하지 않습니다
가장 흔한 실수는 user:lee:rw-를 발견한 즉시 ‘lee는 파일을 쓸 수 있다’고 결론 내리는 것입니다. 이 답은 mask를 무시합니다. 반대로 mask::r--만 보고 소유자도 쓰지 못한다고 말하는 것도 틀립니다. ACL mask는 소유자 user:: 권한이나 other:: 항목에 같은 방식으로 적용되는 제한이 아닙니다. 어느 항목이 주체와 일치하는지, 그 항목에 mask가 적용되는지를 나누어 보세요.
검토할 때는 표시 권한과 실제 권한을 두 칸으로 씁니다
오답을 줄이려면 ACL 항목을 베껴 적은 뒤 바로 아래에 mask 교집합을 따로 적습니다. rw- ∩ r-- = r--, rwx ∩ r-- = r--처럼 쓰면 원래 항목이 가진 권한과 실제 허용 권한이 다르다는 점이 눈에 들어옵니다. 그 다음 접근 사용자의 계정과 그룹을 맞춰 보세요. 파일 권한은 이름만 보고 판단하는 대신, 사용자가 어떤 항목으로 ACL 검사에 들어가는지부터 확인해야 합니다.
정답을 가리고 확인해 보세요
이 글을 위해 만든 학습 예시이며 공식 기출문제나 판매 카드의 인용이 아닙니다.
사용자 min의 ACL 항목이 user:min:rwx, mask가 mask::r-x입니다. mask가 적용되는 유효 권한은 무엇이며 쓰기는 가능한가요?
정답과 해설 확인
유효 권한은 r-x입니다. 읽기와 실행은 가능하고 쓰기는 불가능합니다.named-user 항목 rwx와 mask r-x의 교집합은 r-x입니다. w 비트가 mask에 없으므로 원래 항목에 있어도 effective 권한에는 남지 않습니다.