액세스 권한 부여

사용자가 계정에 로그인하면(login 또는 su 명령 사용) 해당 계정에 지정된 사용자 ID 및 그룹 ID는 사용자의 프로세스와 연관됩니다. 이러한 ID는 프로세스의 액세스 권한을 판별합니다.

사용자 ID가 0인 프로세스는 루트 사용자 프로세스입니다. 이러한 프로세스에서는 일반적으로 모든 액세스 권한이 허용됩니다. 그러나 루트 사용자 프로세스가 프로그램에 대한 실행 권한을 요청하면 실행 권한이 하나 이상의 사용자에게 부여되는 경우에만 액세스 권한이 부여됩니다.

AIXC ACL에 대한 액세스 권한 부여

정보 자원의 소유자는 액세스 권한을 관리할 책임이 있습니다. 자원은 오브젝트 모드에 포함된 권한 비트로 보호됩니다. 권한 비트는 오브젝트 소유자, 오브젝트 그룹 및 others 디폴트 클래스에 부여되는 액세스 권한을 정의합니다. 운영 체제는 개별적으로 부여될 수 있는 세 가지 다른 모드의 액세스 권한(읽기, 쓰기 및 실행)을 지원합니다.

파일, 디렉토리, 이름 붙여진 파이프 및 장치(특수 파일)의 경우 다음과 같이 액세스 권한이 부여됩니다.

  • ACL에 있는 각 액세스 제어 항목(ACE)마다 ID 리스트가 프로세스의 ID와 비교됩니다. 일치하는 항목이 있는 경우 프로세스는 해당 항목에 대해 정의된 사용 권한 및 제한사항을 수신합니다. 사용 권한 및 제한사항 모두에 대한 논리적 통합이 ACL의 일치하는 각 항목에 대해 계산됩니다. 요청하는 프로세스가 ACL의 어떠한 항목과도 일치하지 않을 경우 디폴트 항목의 사용 권한 및 제한사항을 수신합니다.
  • 요청된 액세스 모드가 허용되고(사용 권한 통합에 포함됨) 제한되지 않을 경우(제한사항 통합에 포함됨) 액세스가 부여됩니다. 그렇지 않은 경우 액세스가 거부됩니다.

리스트의 모든 ID가 요청하는 프로세스에 대한 해당 유형의 유효 ID와 일치하는 경우 ACL의 ID 리스트가 프로세스와 일치합니다. 프로세스의 유효 사용자 ID와 동일한 경우 USER 유형 ID가 일치되고 프로세스의 유효 그룹 ID 또는 보조 그룹 ID 중 하나와 동일한 경우 GROUP 유형 ID가 일치됩니다. 예를 들어, 다음과 같은 ID 리스트를 가지는 ACE는

USER:fred, GROUP:philosophers, GROUP:software_programmer

유효 사용자 ID가 fred이고 다음 그룹 세트가 있는 프로세스와 일치합니다.

philosophers, philanthropists, software_programmer, doc_design

유효 사용자 ID가 fred이고 다음과 같은 그룹 세트를 가지는 프로세스에 대해서는 일치하지 않습니다.

philosophers, iconoclasts, hardware_developer, graphic_design

다음과 같은 ID 리스트가 있는 ACE는 두 프로세스 모두에 대해 일치합니다.

USER:fred, GROUP:philosophers

즉, ACE 기능의 ID 리스트는 지정된 액세스 권한이 부여되도록 하기 위해 보유해야 하는 일련의 조건입니다.

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

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

NFS4 ACL에 대한 액세스 권한 부여

WRITE_ACL 특권이 있는 모든 사용자는 액세스 권한을 제어할 수 있습니다. 정보 자원의 소유자에게는 항상 WRITE_ACL 특권이 있습니다. NFS4 ACL을 사용하는 파일 및 디렉토리의 경우 다음과 같이 액세스 권한이 부여됩니다.
  • ACE 리스트는 순서대로 처리되고 요청자와 일치하는 "사용자"(예: ID)가 있는 ACE만 처리 대상으로 고려됩니다. 특수 사용자가 EVERYONE@인 ACE를 처리하는 동안에는 요청자의 신임 정보가 확인되지 않습니다.
  • 각 ACE는 요청자 액세스 권한의 모든 비트가 허용될 때까지 처리됩니다. 비트가 허용되면 이후 ACE를 처리할 때 더 이상 고려되지 않습니다.
  • 요청자의 액세스 권한에 해당하는 모든 비트가 거부되면 액세스가 거부되고 나머지 ACE가 처리되지 않습니다.
  • 요청자 액세스 권한의 모든 비트가 허용되지 않고 더 이상 처리할 ACE가 남아 있지 않은 경우에는 액세스가 거부됩니다.

요청된 액세스가 ACE에서 거부되고 요청하는 사용자가 수퍼 사용자 또는 루트이면 일반적으로 액세스가 허용됩니다. 오브젝트 소유자에게는 항상 READ_ACL, WRITE_ACL, READ_ATTRIBUTESWRITE_ATTRIBUTES가 허용됩니다. 액세스 권한 부여 알고리즘에 대한 자세한 내용은 NFS4 액세스 제어 목록을 참조하세요.