다음을 통해 공유


SECURITY_DESCRIPTOR_CONTROL

SECURITY_DESCRIPTOR_CONTROL 형식은 SECURITY_DESCRIPTOR 구조체 또는 해당 구성 요소의 의미를 한정하는 비트 플래그 집합입니다. 각 보안 설명자에는 SECURITY_DESCRIPTOR_CONTROL 비트를 저장하는 Control 멤버가 있습니다.

typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;

컨트롤 값에는 다음 SECURITY_DESCRIPTOR_CONTROL 비트 플래그의 조합이 포함될 수 있습니다.

의미
SE_OWNER_DEFAULTED(0x0001) 보안 설명자의 원래 공급자가 아닌 기본 메커니즘은 보안 설명자의 SID(소유자 보안 식별자)를 제공했습니다. 이 플래그를 설정하려면 RtlSetOwnerSecurityDescriptor를 사용합니다.
SE_GROUP_DEFAULTED(0x0002) 보안 설명자의 원래 공급자가 아닌 기본 메커니즘은 보안 설명자의 그룹 SID를 제공했습니다.
SE_DACL_PRESENT(0x0004) DACL이 있는 보안 설명자를 나타냅니다. 이 플래그가 설정되지 않았거나 이 플래그가 설정되고 DACL이 NULL인 경우 보안 설명자는 모든 사용자에게 모든 권한을 허용합니다. 이 플래그는 보안 설명자가 보안 개체와 연결될 때까지 호출자가 지정한 보안 정보를 보관하는 데 사용됩니다. 보안 설명자가 보안 개체와 연결되면 보안 설명자 컨트롤에서 항상 SE_DACL_PRESENT 플래그가 설정됩니다. 이 플래그를 설정하려면 RtlSetDaclSecurityDescriptor를 사용합니다.
SE_DACL_DEFAULTED(0x0008) 기본 DACL이 있는 보안 설명자를 나타냅니다. 예를 들어 개체의 작성자가 DACL을 지정하지 않으면 개체는 작성자의 액세스 토큰에서 기본 DACL을 받습니다. 이 플래그는 ACE 상속과 관련하여 시스템이 DACL을 처리하는 방법에 영향을 줄 수 있습니다. SE_DACL_PRESENT 플래그가 설정되지 않은 경우 시스템에서 이 플래그를 무시합니다. 이 플래그는 개체의 최종 DACL을 계산하는 방법을 결정하는 데 사용되며 보안 개체의 보안 설명자 컨트롤에 물리적으로 저장되지 않습니다. 이 플래그를 설정하려면 RtlSetDaclSecurityDescriptor를 사용합니다.
SE_SACL_PRESENT(0x0010) SACL이 있는 보안 설명자를 나타냅니다.
SE_SACL_DEFAULTED(0x0020) 보안 설명자의 원래 공급자가 아닌 기본 메커니즘이 SACL을 제공했습니다. 이 플래그는 ACE 상속과 관련하여 시스템이 SACL을 처리하는 방법에 영향을 줄 수 있습니다. SE_SACL_PRESENT 플래그가 설정되지 않은 경우 시스템에서 이 플래그를 무시합니다.
SE_DACL_UNTRUSTED(0x0040) 보안 설명자의 DACL에서 가리키는 ACL이 신뢰할 수 없는 원본에서 제공되었음을 나타냅니다. 이 플래그가 설정되고 복합 ACE가 발견되면 시스템은 ACE의 서버 SID에 대해 알려진 유효한 SID를 대체합니다.
SE_SERVER_SECURITY(0x0080) 원본(명시적 또는 기본값)에 관계없이 ACL이 입력 ACL을 기반으로 서버 ACL이어야 하는 보안 설명자로 보호되는 개체에 대한 공급자를 요청합니다. 이 작업은 모든 GRANT ACE를 현재 서버에 부여하는 복합 ACE로 바꿔서 수행됩니다. 이 플래그는 주체가 가장하는 경우에만 의미가 있습니다.
SE_DACL_AUTO_INHERIT_REQ(0x0100) 보안 설명자로 보호되는 개체에 대한 공급자가 DACL을 기존 자식 개체에 자동으로 전파하도록 요청합니다. 공급자가 자동 상속을 지원하는 경우 DACL을 기존 자식 개체로 전파하고 개체 및 해당 자식 개체의 보안 설명자에 SE_DACL_AUTO_INHERITED 비트를 설정합니다.
SE_SACL_AUTO_INHERIT_REQ(0x0200) 보안 설명자로 보호되는 개체에 대한 공급자가 SACL을 기존 자식 개체에 자동으로 전파하도록 요청합니다. 공급자가 자동 상속을 지원하는 경우 SACL을 기존 자식 개체로 전파하고 개체 및 해당 자식 개체의 보안 설명자에 SE_SACL_AUTO_INHERITED 비트를 설정합니다.
SE_DACL_AUTO_INHERITED(0x0400) Windows 2000부터 DACL에서 상속 가능한 API를 기존 자식 개체로 자동 전파하는 보안 설명자를 나타냅니다. 자동 일관성을 지원하는 Windows 2000 ACL의 경우 이 비트는 항상 설정됩니다. 자동 일관성을 지원하지 않는 Windows NT 4.0 ACL과 이러한 ACL을 구분하는 데 사용됩니다. 이 비트는 상속 가능한 AES의 자동 전파를 지원하지 않는 Windows NT 4.0 이하의 보안 설명자에 설정되어 있지 않습니다.
SE_SACL_AUTO_INHERITED(0x0800) SACL이 상속 가능한 AES를 기존 자식 개체로 자동 전파하도록 지원하는 보안 설명자를 나타냅니다. 이 비트는 개체 및 기존 자식 개체에 대해 자동 상속 알고리즘이 수행된 경우에만 설정됩니다. 이 비트는 상속 가능한 AES의 자동 전파를 지원하지 않는 Windows NT 4.0 이하의 보안 설명자에 설정되어 있지 않습니다.
SE_DACL_PROTECTED(0x1000) 보안 설명자의 DACL이 상속 가능한 API에 의해 수정되지 않도록 보호합니다.
SE_SACL_PROTECTED(0x2000) 보안 설명자의 SACL이 상속 가능한 AES에 의해 수정되지 않도록 보호합니다.
SE_RM_CONTROL_VALID(0x4000) 보안 설명자의 리소스 제어 관리자 비트가 유효하다는 것을 나타냅니다. Resource Manager 컨트롤 비트는 구조체에 액세스하는 Resource Manager 관련된 정보를 포함하는 SECURITY_DESCRIPTOR 구조체의 Sbz1 멤버에 있는 8비트입니다. 자세한 내용은 Windows SDK를 참조하세요.
SE_SELF_RELATIVE(0x8000) 인접한 메모리 블록의 모든 보안 정보가 포함된 자체 상대 형식의 보안 설명자를 나타냅니다. 이 플래그가 설정되지 않은 경우 보안 설명자는 절대 형식입니다. 자세한 내용은 Windows SDK 설명서를 참조하세요.

요구 사항

ntifs.h(ntifs.h 포함)

에이스

ACL

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

SECURITY_DESCRIPTOR