다음을 통해 공유


Posix 식별자 매핑

Posix 하위 시스템은 발생하는 모든 SID( 보안 식별자 )를 Posix ID라는 32비트 값으로 변환할 수 있어야 합니다. 또한 ID를 사용자 ID 또는 그룹 ID로 분류할 수 있어야 합니다. 이 매핑을 수행하는 방법을 이해하려면 먼저 매핑해야 하는 SID를 살펴보겠습니다.

SID에는 도메인의 SID와 도메인에 있는 계정의 상대 ID인 두 가지 구성 요소가 있습니다. 예를 들어 SID S-1-518364-21-43-8에서 마지막 숫자인 8은 계정의 상대 ID(RID)이고 S-1-518364-21-43은 도메인의 SID입니다.

도메인 정보는 TrustedDomain 개체에 저장됩니다. TrustedDomain 개체에 저장된 정보의 일부는 해당 도메인 내의 SID에 사용할 Posix ID 오프셋입니다. 예를 들어 TrustedDomain 이 다음과 같이 정의되어 있다고 가정합니다.

    Name:    NtPgm
    Sid:    S-1-518364-21-43
    Posix Offset:    0x130000

이 도메인의 계정에 대한 Posix ID는 계정의 상대 ID에 0x130000 추가하여 생성됩니다. 따라서 SID S-1-518364-21-43-8에 해당하는 Posix ID는 0x130008.

모든 Posix ID 변환이 TrustedDomain 개체를 사용하는 것은 아닙니다. 다음 표에서는 잘 알려진 오프셋 값을 사용하여 매핑되는 SID를 보여 줍니다.

원본 Posix ID 오프셋
기본 제공 도메인의 SID 0x20000
계정 도메인의 SID 0x30000
주 도메인의 SID(워크스테이션에만 해당) 0x40000

 

마지막으로 다른 SID 집합인 로그온 SID에는 특별한 처리가 필요합니다. 이러한 값은 각 로그온 세션에 대한 Windows 로그온 프로세스에 의해 할당되며 S-1-5-5-X-Y 형식을 가지며, 여기서 X와 Y는 각 로그온 세션에 대해 증가되는 단일 LARGE_INTEGER 처리됩니다. 이러한 SID는 상수 Posix ID 0xFFF 매핑됩니다. Posix ID 0xFFF 매핑하려면 상황에 가장 적합한 로그온 식별자를 변환하거나 기본적으로 S-1-5-5-0-0을 사용할 수 있습니다. 예를 들어 posix 사용자가 개체에 보호를 적용하고 FFFx를 지정하는 경우 S-1-5-5-0-0을 할당하는 것보다 해당 사용자의 로그온 식별자를 대체하는 것이 좋습니다.