액세스 제어 리스트

일반적으로 ACL은 액세스 제어 항목(ACE)이라는 일련의 항목으로 구성됩니다. 각 ACE는 오브젝트에 대한 관계에서 사용자의 액세스 권한을 정의합니다.

액세스가 시도되면 운영 체제가 오브젝트와 연관된 ACL을 사용하여 사용자에게 이를 수행할 수 있는 권한이 있는지 여부를 확인합니다. 이러한 ACL 및 관련 액세스 검사가 AIX®에서 지원되는 임의 액세스 제어((DAC) 메커니즘의 핵심을 이룹니다.

운영 체제는 사용자 프로세스가 정보를 저장하거나 통신할 수 있도록 하는 여러 유형의 시스템 오브젝트를 지원합니다. 가장 중요한 유형의 액세스 제어 오브젝트는 다음과 같습니다.
  • 파일 및 디렉토리
  • 이름 붙여진 파이프
  • 메시지 큐, 공유 메모리 세그먼트 및 세마포어와 같은 IPC 오브젝트

오브젝트가 처음 액세스될 때 이러한 오브젝트에 대한 모든 액세스 권한 검사가 시스템 호출 레벨에서 수행됩니다. System V 프로세스 간 통신(SVIPC) 오브젝트가 stateless 상태로 액세스되기 때문에 액세스할 때마다 검사가 수행됩니다. 파일 시스템 이름이 있는 오브젝트의 경우 실제 오브젝트의 이름을 해석할 수 있어야 합니다. 이름은 상대적으로(프로세스의 작업 디렉토리에 대해) 또는 절대적으로(프로세스의 루트 디렉토리에 대해) 해석됩니다. 모든 이름 해석은 이러한 디렉토리 중 하나를 검색하여 시작합니다.

임의 액세스 제어 메커니즘은 정보 자원의 유효 액세스 제어를 고려하며 정보의 기밀성과 무결성에 대한 별도의 보호를 제공합니다. 소유자가 제어하는 액세스 제어 메커니즘은 사용자가 작성하는 만큼만 유효합니다. 모든 사용자가 액세스 권한을 부여하고 거부하는 방법과 이러한 권한을 설정하는 방법을 이해하고 있어야 합니다.

예를 들어, 파일 시스템 오브젝트(파일 또는 디렉토리)와 연관된 ACL은 오브젝트 액세스에 관해 다양한 사용자의 액세스 권한을 적용할 수 있습니다. 이러한 ACL은 여러 사용자에 대한 다양한 레벨의 액세스 권한(예: 읽기 또는 쓰기)을 적용할 수 있습니다.

일반적으로 각 오브젝트에는 정의된 소유자가 있으며 일부 경우에는 기본 그룹과 연관되어 있습니다. 특정 오브젝트의 소유자는 임의 액세스 속성을 제어합니다. 소유자의 속성은 작성 프로세스의 유효 사용자 ID로 설정됩니다.

다음 리스트에는 다양한 유형의 오브젝트에 대한 직접 액세스 제어 속성이 포함되어 있습니다.
소유자
System V 프로세스 간 통신(SVIPC) 오브젝트의 경우 작성자 또는 소유자가 오브젝트의 소유권을 변경할 수 있습니다. SVIPC 오브젝트에는 소유자의 모든 권한(액세스 권한 포함)을 가지는 연관된 작성자가 있습니다. 루트 권한이 있는 경우에도 작성자를 변경할 수 없습니다.

SVIPC 오브젝트는 작성 프로세스의 유효 그룹 ID로 초기화됩니다. 파일 시스템 오브젝트의 경우 직접 액세스 제어 속성은 작성 프로세스의 유효 그룹 ID 또는 상위 디렉토리의 그룹 ID(상위 디렉토리의 그룹 상속 플래그로 판별됨)로 초기화됩니다.

그룹
오브젝트 소유자는 그룹을 변경할 수 있습니다. 새로운 그룹은 작성 프로세스의 유효 그룹 ID 또는 상위 디렉토리의 그룹 ID여야 합니다. (위와 같이 SVIPC 오브젝트에는 변경할 수 없는 연관된 작성 그룹이 있고 오브젝트 그룹의 액세스 권한을 공유합니다.)
모드
chmod 명령(8진 표기를 사용하는 숫자 모드)은 기본 권한 및 속성을 설정할 수 있습니다. 이 명령이 호출하는 chmod 서브루틴이 확장 권한을 사용 안함으로 설정합니다. ACL이 있는 파일에 대해 숫자 모드의 chmod 명령을 사용하면 확장 권한이 사용 안함으로 설정됩니다. 기호 모드의 chmod 명령은 NSF4 ACL 유형의 확장 ACL을 사용 안함으로 설정하지만 AIXC 유형 ACL의 확장 권한을 사용 안함으로 설정하지는 않습니다. 숫자 및 기호 모드에 대한 정보는 chmod를 참조하십시오.

소켓 및 파일 시스템 오브젝트와 같은 운영 체제의 여러 오브젝트에는 다른 주체에 연관된 ACL이 있습니다. 이러한 오브젝트 유형의 ACL 세부사항은 오브젝트 유형마다 다를 수 있습니다.

기존에 AIX는 파일 시스템 오브젝트에 대한 액세스를 제어하기 위한 모드 비트를 지원했습니다. 또한 모드 비트를 중심으로 고유 양식의 ACL을 지원했습니다. 이 ACL은 기본 모드 비트로 구성되고 복수 ACE 항목의 정의도 고려합니다. 각 ACE 항목은 모드 비트를 중심으로 사용자 또는 그룹의 액세스 권한을 정의합니다. 이 기존 유형의 ACL 작동은 계속 지원되며 AIXC ACL 유형이라고 합니다.

파일 시스템 오브젝트에 대한 ACL 지원은 기본 실제 파일 시스템(PFS)에 따라 달라집니다. PFS는 ACL 데이터를 이해하고 다양한 사용자의 액세스를 저장, 검색 및 적용할 수 있어야 합니다. 복수 유형의 ACL을 지원하는 실제 파일 시스템에 비해 일부 실제 파일 시스템은 ACL을 전혀 지원하지 않을 수 있습니다(기본 모드 비트만 지원할 수 있음). AIX 아래의 몇 개 파일 시스템이 복수 ACL 유형을 지원하도록 개선되었습니다. JFS2 및 GPFS에는 NFS 버전 4 프로토콜 기반 ACL 유형을 지원하는 기능도 있습니다. 이 ACL은 AIX에서 NFS4 ACL 유형으로 이름 붙여졌습니다. 이 ACL 유형은 NFS 버전 4 프로토콜 스펙에 있는 대부분의 ACL 정의를 준수합니다. 또한 AIXC ACL 유형에 비해 더 세부적인 액세스 제어를 지원하며 상속과 같은 기능을 제공합니다.