반응형
레지스트리 엑세스를 하려고 하다 문득 Access Mask 옵션이 눈에 보여서 검색한 내용을 정리 합니다.
인자는 32bit Type 으로 되어 있고 각 비트는 위의 그림과 같이 나뉘어 있습니다.
AS -> SACL 이란 ACCESS_SYSTEM_SECURITY 접근권한으로 객체의 security descriptor 안의 SACL bit 를 설정하여 그 권한을 가져올 수 있습니다.
방법은 아래와 같은 절차를 따라야 합니다.
1. AdjustTokenPrivileges 함수를 호출하여 SE_SECURITY_NAME 권환을 활성화 시킵니다.
2. ACCESS_SYSTEM_SECURITY 접근 권한을 접근하려는 핸들을 열때 요청 합니다.
(예를들어 Registry 를 Open 할 때 위의 ACCESS MASK 를 주는 것을 의미 합니다)
3. GetSecurityInfo or SetSecurityInfo 를 이용하여 객체의 SACL 을 설정하거나 가져올 수 있습니다. (별도)
4. AdjustTokenPrivileges 를 비활성화 합니다.
관련 샘플 코드
https://learn.microsoft.com/en-us/windows/win32/secauthz/enabling-and-disabling-privileges-in-c--
Standard Access Rights 은 아래와 같은 값을 가질 수 있습니다.
반응형
'Development > Visual Studio' 카테고리의 다른 글
[Visual Studio] 삭제 하기 (1) | 2022.09.24 |
---|---|
Registry 접근 Access is denied (0) | 2022.04.14 |
MSB8031: Building an MFC project for a non-Unicode character set is deprecated (0) | 2020.12.13 |
댓글