SePrivilegeCheck 함수(ntifs.h)
SePrivilegeCheck 루틴은 주체의 액세스 토큰에서 지정된 권한 집합을 사용할 수 있는지 여부를 결정합니다.
통사론
BOOLEAN SePrivilegeCheck(
[in, out] PPRIVILEGE_SET RequiredPrivileges,
[in] PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
[in] KPROCESSOR_MODE AccessMode
);
매개 변수
[in, out] RequiredPrivileges
PRIVILEGE_SET 구조체에 대한 포인터입니다. 이 구조체의 Privilege 멤버는 LUID_AND_ATTRIBUTES 구조의 배열입니다. SePrivilegeCheck호출하기 전에 Privilege 배열을 사용하여 확인할 권한 집합을 나타냅니다. 모든 권한을 사용하도록 설정해야 하는 경우 Control 멤버를 PRIVILEGE_SET_ALL_NECESSARY 설정합니다. 또는 권한 중 하나를 사용하도록 설정하는 것으로 충분한 경우 0으로 설정합니다.
SePrivilegeCheck 반환되면 각 LUID_AND_ATTRIBUTES 구조체의 특성 멤버가 해당 권한이 사용하도록 설정된 경우 SE_PRIVILEGE_USED_FOR_ACCESS 설정됩니다.
[in] SubjectSecurityContext
주체의 캡처된 보안 컨텍스트에 대한 포인터입니다.
[in] AccessMode
권한 확인에 사용할 액세스 모드입니다. UserMode 또는 KernelMode. AccessMode KernelMode 설정되면 모든 권한이 주체가 소유한 것으로 표시되고 SePrivilegeCheck TRUE 반환합니다.
반환 값
SePrivilegeCheck 주체가 지정한 모든 권한을 보유하는 경우 TRUE 반환하고, 그렇지 않으면 FALSE .
발언
액세스 토큰에는 토큰과 연결된 계정에서 보유한 권한 목록이 포함됩니다. 이러한 권한은 사용하거나 사용하지 않도록 설정할 수 있습니다. 대부분은 기본적으로 사용하지 않도록 설정됩니다. SePrivilegeCheck는 활성화된 권한만 검사할 있습니다. 액세스 토큰에서 보유하는 모든 사용 및 사용 안 함 권한 목록을 가져오려면 SeQueryInformationToken호출합니다.
보안 및 액세스 제어에 대한 자세한 내용은 드라이버 개발자를 위한 Windows 보안 모델 및 Windows SDK의 이러한 항목에 대한 설명서를 참조하세요.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |