SetNamedSecurityInfoA 함수(aclapi.h)
SetNamedSecurityInfo 함수는 지정된 개체의 보안 설명자 지정된 보안 정보를 설정합니다. 호출자는 이름으로 개체를 식별합니다.
통사론
DWORD SetNamedSecurityInfoA(
[in] LPSTR pObjectName,
[in] SE_OBJECT_TYPE ObjectType,
[in] SECURITY_INFORMATION SecurityInfo,
[in, optional] PSID psidOwner,
[in, optional] PSID psidGroup,
[in, optional] PACL pDacl,
[in, optional] PACL pSacl
);
매개 변수
[in] pObjectName
보안 정보를 설정할 개체의 이름을 지정하는 null종결 문자열에 대한 포인터입니다. NTFS 파일 시스템, 네트워크 공유, 레지스트리 키, 세마포, 이벤트, 뮤텍스, 파일 매핑 또는 대기 가능한 타이머의 로컬 또는 원격 파일 또는 디렉터리의 이름일 수 있습니다.
다양한 개체 형식에 대한 문자열 형식에 대한 설명은 SE_OBJECT_TYPE참조하세요.
[in] ObjectType
pObjectName 매개 변수로 명명된 개체의 형식을 나타내는 SE_OBJECT_TYPE 열거형의 값입니다.
[in] SecurityInfo
설정할 보안 정보의 유형을 나타내는 비트 플래그 집합입니다. 이 매개 변수는 SECURITY_INFORMATION 비트 플래그의 조합일 수 있습니다.
[in, optional] psidOwner
개체의 소유자를 식별하는 SID 구조체에 대한 포인터입니다. 호출자에게 SeRestorePrivilege 상수(권한 상수참조)가 없는 경우 이 SID 호출자의 토큰에 포함되어야 하며 SE_GROUP_OWNER 사용 권한이 활성화되어 있어야 합니다.
SecurityInfo 매개 변수에는 OWNER_SECURITY_INFORMATION 플래그가 포함되어야 합니다. 소유자를 설정하려면 호출자가 개체에 대한 WRITE_OWNER 액세스 권한이 있거나 SE_TAKE_OWNERSHIP_NAME 권한을 사용하도록 설정해야 합니다. 소유자
[in, optional] psidGroup
개체의 기본 그룹을 식별하는 SID에 대한 포인터입니다.
SecurityInfo 매개 변수에는 GROUP_SECURITY_INFORMATION 플래그가 포함되어야 합니다. 기본 그룹 SID를 설정하지 않는 경우 이 매개 변수는 NULL
[in, optional] pDacl
개체의 새 DACL에 대한 포인터입니다.
SecurityInfo 매개 변수에는 DACL_SECURITY_INFORMATION 플래그가 포함되어야 합니다. 호출자는 개체에 대한 WRITE_DAC 액세스 권한이 있거나 개체의 소유자여야 합니다. DACL을 설정하지 않는 경우 이 매개 변수는 NULL
[in, optional] pSacl
개체의 새 SACL에 대한 포인터입니다. SecurityInfo 매개 변수에는 SACL_SECURITY_INFORMATION, LABEL_SECURITY_INFORMATION, ATTRIBUTE_SECURITY_INFORMATION, SCOPE_SECURITY_INFORMATION 또는 BACKUP_SECURITY_INFORMATION 플래그가 포함되어야 합니다.
SACL_SECURITY_INFORMATION 또는 SCOPE_SECURITY_INFORMATION 설정하는 경우 호출자는 SE_SECURITY_NAME 권한을 사용하도록 설정해야 합니다. SACL을 설정하지 않으면 이 매개 변수는 NULL
반환 값
함수가 성공하면 함수는 ERROR_SUCCESS 반환합니다.
함수가 실패하면 WinError.h에 정의된 0이 아닌 오류 코드를 반환합니다.
발언
다음 유형의 개체와 함께 SetNamedSecurityInfo 함수를 사용할 수 있습니다.
- NTFS의 로컬 또는 원격 파일 또는 디렉터리
- 로컬 또는 원격 프린터
- 로컬 또는 원격 Windows 서비스
- 네트워크 공유
- 레지스트리 키
- 세마포, 이벤트, 뮤텍스 및 대기 가능한 타이머
- 파일 매핑 개체
- 디렉터리 서비스 개체
이 함수는 일반 텍스트정보를 전송합니다. 이 함수에 의해 전송된 정보는 시스템에 대한 서명이 꺼져 있지만 암호화가 수행되지 않는 한 서명됩니다.
UNC 경로로 표시된 폴더의 액세스 권한(예: \Test\TestFolder)을 업데이트하면 원래 상속된 ACE가 제거되고 전체 볼륨 경로가 포함되지 않습니다.
예제
이 함수를 사용하는 예제는 개체 ACL 수정 또는 개체 소유권
메모
aclapi.h 헤더는 SETNamedSecurityInfo를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | aclapi.h |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |
참고 항목
ACL
access Control
GetNamedSecurityInfo
GetSecurityInfo
SetSecurityInfo