다음을 통해 공유


MASK_액세스

ACCESS_MASK 데이터 형식은 표준, 특정 및 제네릭 권한을 정의하는 DWORD 값입니다. 이러한 권한은 ACE( 액세스 제어 항목 )에서 사용되며 개체에 대한 요청되거나 부여된 액세스를 지정하는 기본 수단입니다.

typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;

비고

이 값의 비트는 다음과 같이 할당됩니다.

비트 Meaning
0-15 특정 권한. 마스크와 연결된 개체 형식과 관련된 액세스 마스크를 포함합니다. 다양한 개체 형식에 대한 액세스 권한에 대한 링크는 Object-Specific 액세스 권한을 참조하세요.
16-23 표준 권한. 개체의 표준 액세스 권한을 포함합니다.
24 시스템 보안(ACCESS_SYSTEM_SECURITY)에 액세스합니다. SACL( 시스템 액세스 제어 목록)에 대한 액세스를 나타내는 데 사용됩니다. 이러한 유형의 액세스를 사용하려면 호출 프로세스에 SE_SECURITY_NAME (감사 및 보안 로그 관리) 권한이 있어야 합니다. 이 플래그가 감사 액세스 ACE(성공 또는 실패한 액세스)의 액세스 마스크에 설정된 경우 SACL 액세스가 감사됩니다.
이십오 (25) 허용되는 최대값(MAXIMUM_ALLOWED)입니다.
26-27 예약됨.
28 제네릭 모두(GENERIC_ALL).
이십구 제네릭 실행(GENERIC_EXECUTE).
30 제네릭 쓰기(GENERIC_WRITE).
31 제네릭 읽기(GENERIC_READ).

표준 권한 비트(16~23)는 개체의 표준 액세스 권한을 포함하며 다음과 같은 미리 정의된 플래그의 조합일 수 있습니다.

비트 Flag Meaning
16 삭제하다 액세스를 삭제합니다.
17 READ_CONTROL 보안 설명자의 DACL(소유자, 그룹 및 임의 액세스 제어 목록 )에 대한 액세스를 읽습니다.
18 WRITE_DAC DACL에 대한 쓰기 권한입니다.
19 WRITE_OWNER 소유자에 대한 쓰기 액세스 권한입니다.
20 동기화 액세스를 동기화합니다.

Winnt.h에 정의된 다음 상수는 특정 및 표준 액세스 권한을 나타냅니다.

#define DELETE                           (0x00010000L)
#define READ_CONTROL                     (0x00020000L)
#define WRITE_DAC                        (0x00040000L)
#define WRITE_OWNER                      (0x00080000L)
#define SYNCHRONIZE                      (0x00100000L)

#define STANDARD_RIGHTS_REQUIRED         (0x000F0000L)

#define STANDARD_RIGHTS_READ             (READ_CONTROL)
#define STANDARD_RIGHTS_WRITE            (READ_CONTROL)
#define STANDARD_RIGHTS_EXECUTE          (READ_CONTROL)

#define STANDARD_RIGHTS_ALL              (0x001F0000L)

#define SPECIFIC_RIGHTS_ALL              (0x0000FFFFL)

Object-Specific 액세스 권한

ACCESS_MASK 낮은 16비트(비트 0-15)는 개체별 액세스 권한에 사용됩니다. 이러한 비트의 의미는 액세스되는 개체의 형식에 따라 달라집니다. 특정 개체 형식에 대한 액세스 권한에 대한 자세한 내용은 다음 항목을 참조하세요.

공통 개체 형식

  • 파일 및 디렉터리 - 파일 액세스 권한 상수
    FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA, FILE_EXECUTE, FILE_DELETE_CHILD, FILE_READ_ATTRIBUTES 및 FILE_WRITE_ATTRIBUTES 같은 특정 액세스 권한을 정의합니다.
  • 레지스트리 키 - 레지스트리 키 보안 및 액세스 권한 KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS 및 KEY_NOTIFY 같은 특정 액세스 권한을 정의합니다.
  • 프로세스 - 프로세스 보안 및 액세스 권한
    PROCESS_TERMINATE, PROCESS_CREATE_THREAD, PROCESS_VM_OPERATION, PROCESS_VM_READ, PROCESS_VM_WRITE, PROCESS_QUERY_INFORMATION 및 PROCESS_SET_INFORMATION 같은 특정 액세스 권한을 정의합니다.
  • 스레드 - 스레드 보안 및 액세스 권한
    THREAD_TERMINATE, THREAD_SUSPEND_RESUME, THREAD_GET_CONTEXT, THREAD_SET_CONTEXT, THREAD_QUERY_INFORMATION 및 THREAD_SET_INFORMATION 같은 특정 액세스 권한을 정의합니다.

추가 개체 형식

보안 개체 및 해당 액세스 권한의 포괄적인 목록은 액세스 권한 및 액세스 마스크를 참조하세요.

요구 사항

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

액세스 제어

기본 액세스 제어 구조

액세스 권한 및 액세스 마스크

GENERIC_MAPPING