개념 사전 · 개념

POSIX ACL

POSIX Access Control List · 리눅스 파일 ACL

은 의 기본 owner·group·other 권한에 특정 사용자와 여러 그룹의 접근 항목을 더하는 기능이다. 는 user와 그룹 클래스의 유효 권한 상한이며, 항목에 적힌 권한과 실제 허용 권한을 구별해야 한다.

밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.

01무엇이고, 어떤 일을 하나

  • 파일 하나에 서로 다른 사용자·그룹의 권한 요구를 표현한다.
  • 로 그룹 클래스 전체의 권한 상한을 조절한다.
  • 디렉터리 로 새 자식 객체의 초기 권한을 전달한다.

02어떤 순서로 동작하나

  1. 소유자 검사

    파일 접근용 UID가 소유자와 같으면 user::를 적용하고 다른 항목으로 보충하지 않는다.

  2. 사용자 항목 검사

    소유자가 아니며 일치하는 user가 있으면 해당 권한과 의 교집합으로 판정한다.

  3. 그룹 항목 검사

    일치하는 사용자 항목이 없으면 적용 가능한 그룹 항목과 를 사용하여 요청한 권한의 허용 여부를 평가한다.

  4. 기타와 후속 통제

    일치한 그룹이 없을 때 other::를 사용한다. 에서 허용돼도 등 별도 정책은 계속 제한할 수 있다.

03먼저 알아둘 용어와 구성요소

user::는 소유자, user:learner:는 이름이 붙은 사용자 항목, group::와 group:team:은 그룹 항목, other::는 기타다.
::는 user와 그룹 클래스가 실제로 얻을 수 있는 권한의 상한이다.
소유자 user::와 기타 other::에는 같은 방식으로 를 적용하지 않는다.
확장 이 있으면 ls -l의 그룹 자리만 보고 소유 그룹 권한이라고 단정할 수 없다. 예를 들어 user:learner:rw-와 ::r--가 함께 있으면 learner의 유효 권한은 읽기만이다.
디렉터리 은 새 자식이 상속받을 의 기본값이며 기존 자식에 소급 적용하지 않는다.
을 상속하더라도 프로그램이 요청한 생성 모드에 없는 권한은 제거된다. 읽기·쓰기만 요청한 일반 파일에 상속 의 x가 그대로 생긴다고 단정할 수 없다.

04예제로 따라가기

  • user:reader:rw-와 ::r--이면 reader의 유효 권한은 rw- AND r--, 즉 r--이다.
  • 확장 이 있는 파일에 chmod로 그룹 모드를 바꾸면 가 달라져 user의 실제 쓰기 허용도 바뀔 수 있다.
  • 부모에 을 추가해도 이미 있는 파일은 자동 변경되지 않는다. 새 파일도 프로그램이 요청하지 않은 실행 비트를 무조건 얻지 않는다.

05혼동하기 쉬운 점과 확인 기준

  • 확장 의 user::는 소유자 모드, other::는 기타 모드에 대응한다. 가 있으면 ls -l의 그룹 비트는 group:: 자체가 아니라 범위를 나타낸다.
  • 파일 소유자 UID가 일치하면 user:: 판정이 먼저다. 동일 사용자를 user로 추가해 소유자 권한의 부족분을 더하는 방식으로 이해하지 않는다.
  • 이 허용해도 읽기 전용 마운트, , 서비스 자체 정책에서 쓰기가 실패할 수 있다. 이때 를 계속 넓히면 접근 범위만 불필요하게 커진다.

06상세 노트 · 실습 자료

헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.

공식 문서 · 표준

기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.