다음을 통해 공유


ACL 구조체(winnt.h)

ACL 구조는 ACL(액세스 제어 목록)의 헤더입니다. 전체 ACL은 ACL 구조와 0개 이상의 ACE( 액세스 제어 항목 ) 순서가 지정된 목록으로 구성됩니다.

구문

typedef struct _ACL {
  BYTE AclRevision;
  BYTE Sbz1;
  WORD AclSize;
  WORD AceCount;
  WORD Sbz2;
} ACL;

멤버

AclRevision

ACL의 수정 수준을 지정합니다. ACL에 개체별 ACE가 포함되지 않는 한 이 값은 ACL_REVISION 합니다. 이 경우 이 값은 ACL_REVISION_DS 합니다. ACL의 모든 AES는 동일한 수정 버전 수준에 있어야 합니다.

Sbz1

AclRevision 멤버를 16비트 경계에 맞추는 패딩의 0바이트 를 지정합니다.

AclSize

ACL의 크기(바이트)를 지정합니다. 이 값에는 ACL 구조, 모든 AES 및 사용되지 않는 잠재적 메모리가 포함됩니다.

AceCount

ACL에 저장된 ACE 수를 지정합니다.

Sbz2

ACL 구조를 32비트 경계에 맞추는 패의 0바이트 2개를 지정합니다.

설명

ACL에는 0개 이상의 AES 순차 목록이 포함됩니다. ACL의 개별 API는 0에서 n으로 번호가 매겨집니다. 여기서 n+1은 ACL의 ACE 수입니다. ACL을 편집할 때 애플리케이션은 ACE의 인덱스로 ACL 내의 ACE를 참조합니다.

ACL에는 임의 및 시스템이라는 두 가지 유형이 있습니다.

DACL( 임의 액세스 제어 목록 )은 개체 소유자 또는 개체에 대한 액세스 권한이 부여된 모든 WRITE_DAC 제어됩니다. 특정 사용자 및 그룹이 개체에 대해 가질 수 있는 액세스를 지정합니다. 예를 들어 파일 소유자는 DACL을 사용하여 파일에 액세스할 수 있고 액세스할 수 없는 사용자 및 그룹을 제어할 수 있습니다.

또한 개체에는 시스템 관리자가 제어하는 SACL( 시스템 액세스 제어 목록 ) 형식으로 연결된 시스템 수준 보안 정보가 있을 수 있습니다. SACL을 사용하면 시스템 관리자가 개체에 액세스하려는 모든 시도를 감사할 수 있습니다.

현재 정의된 ACE 구조 목록은 ACE를 참조 하세요.

네 번째 ACE 구조인 SYSTEM_ALARM_ACE 현재 지원되지 않습니다.

ACL 구조는 불투명한 것처럼 처리되고 애플리케이션은 멤버와 직접 작업하려고 시도하지 않습니다. ACL이 의미상 올바른지 확인하기 위해 애플리케이션은 참고 섹션에 나열된 함수를 사용하여 ACL을 만들고 조작할 수 있습니다.

ACLACE 구조는 DWORD 경계에서 시작됩니다.

ACL의 최대 크기(ACL 포함)는 64KB입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 winnt.h(Windows.h 포함)

추가 정보

AddAce

DeleteAce

GetAclInformation

GetSecurityDescriptorDacl

GetSecurityDescriptorSacl

InitializeAcl

IsValidAcl

SetAclInformation

SetSecurityDescriptorDacl

SetSecurityDescriptorSacl