SetUserObjectSecurity 함수(winuser.h)

SetUserObjectSecurity 함수는 사용자 개체의 보안을 설정합니다. 예를 들어 창 또는 DDE 대화일 수 있습니다.

구문

BOOL SetUserObjectSecurity(
  [in] HANDLE                hObj,
  [in] PSECURITY_INFORMATION pSIRequested,
  [in] PSECURITY_DESCRIPTOR  pSID
);

매개 변수

[in] hObj

보안 정보가 설정된 사용자 개체에 대한 핸들입니다.

[in] pSIRequested

설정할 보안 설명자의 구성 요소를 나타내는 값에 대한 포인터입니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

의미
DACL_SECURITY_INFORMATION
개체의 DACL( 임의 액세스 제어 목록 )을 설정합니다. hObj에서 지정한 핸들에는 WRITE_DAC 액세스 권한이 있거나 호출 프로세스가 개체의 소유자여야 합니다.
GROUP_SECURITY_INFORMATION
개체의 기본 그룹 SID( 보안 식별자 )를 설정합니다.
OWNER_SECURITY_INFORMATION
개체 소유자의 SID를 설정합니다. hObj에서 지정한 핸들에는 WRITE_OWNER 액세스 권한이 있어야 합니다. 또는 호출 프로세스는 개체의 소유자이거나 SE_TAKE_OWNERSHIP_NAME 권한을 사용하도록 설정해야 합니다.
SACL_SECURITY_INFORMATION
개체의 SACL( 시스템 액세스 제어 목록 )을 설정합니다. hObj에서 지정한 핸들에는 ACCESS_SYSTEM_SECURITY 액세스 권한이 있어야 합니다.

ACCESS_SYSTEM_SECURITY 액세스 권한을 얻으려면

  1. 호출자의 현재 액세스 토큰에서 SE_SECURITY_NAME 권한을 사용하도록 설정합니다.
  2. ACCESS_SYSTEM_SECURITY 액세스에 대한 핸들을 엽니다.
  3. 권한을 사용하지 않도록 설정합니다.

[in] pSID

새 보안 정보를 포함하는 SECURITY_DESCRIPTOR 구조체에 대한 포인터입니다.

이 버퍼는 4 바이트 경계에 맞춰야 합니다.

반환 값

함수가 성공하면 함수는 0이 아닌 값을 반환합니다.

함수가 실패하면 0을 반환합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

SetUserObjectSecurity 함수는 보안 설명자에 지정된 변경 내용을 사용자 개체에 할당된 보안 설명자에 적용합니다. 개체의 보안 설명자는 자체 상대 형식이어야 합니다. 필요한 경우 이 함수는 보안 설명자의 크기를 늘리기 위해 추가 메모리를 할당합니다.

예제

이 함수를 사용하는 예제는 대화형 클라이언트 프로세스 시작을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll

추가 정보

GetUserObjectSecurity

하위 수준 Access Control

하위 수준 Access Control 함수

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetFileSecurity

SetKernelObjectSecurity

SetPrivateObjectSecurity