라이브러리
[PHP] win32_add_right_access_service - 서비스에 사용자 이름에 대한 권한 액세스 추가
Win32_Add_Right_Access_Service
Win32_Add_Right_Access_Service는 Windows API의 함수 중 하나로, 사용자가 특정 서비스에 대한 권한을 추가하거나 제거할 수 있도록 합니다. 이 함수는 Windows XP 이상 버전에서 사용할 수 있습니다.
함수 프로토콜
#hostingforum.kr
c
WIN32_ADD_RIGHT_ACCESS_SERVICE(
_In_ HANDLE hService,
_In_ DWORD dwServiceRight,
_In_ DWORD dwAccessMask,
_In_ DWORD dwAccessMode,
_In_ HANDLE hToken
);
인자
* `_In_ HANDLE hService`: 서비스 핸들을 전달합니다. 서비스 핸드는 `OpenService` 함수를 사용하여 얻을 수 있습니다.
* `_In_ DWORD dwServiceRight`: 추가하거나 제거할 서비스 권한을 지정합니다. 예를 들어, `SERVICE_START` 또는 `SERVICE_STOP`과 같은 권한을 지정할 수 있습니다.
* `_In_ DWORD dwAccessMask`: 권한을 추가하거나 제거할 때 사용할 마스크를 지정합니다. 예를 들어, `SERVICE_START` 권한을 추가할 때 `SERVICE_START` 마스크를 사용할 수 있습니다.
* `_In_ DWORD dwAccessMode`: 권한을 추가하거나 제거할 때 사용할 모드를 지정합니다. 예를 들어, `SERVICE_START` 권한을 추가할 때 `SERVICE_START` 모드를 사용할 수 있습니다.
* `_In_ HANDLE hToken`: 사용자의 토큰 핸들을 전달합니다. 토큰 핸드는 `OpenProcessToken` 함수를 사용하여 얻을 수 있습니다.
예제
다음 예제는 `Win32_Add_Right_Access_Service` 함수를 사용하여 서비스에 대한 권한을 추가하는 방법을 보여줍니다.
#hostingforum.kr
php
<?php
// 서비스 핸들을 얻기
$hService = win32_open_service('MyService');
// 토큰 핸들을 얻기
$hToken = win32_open_process_token(win32_get_current_process());
// 서비스 권한을 추가하기
$result = win32_add_right_access_service($hService, SERVICE_START, SERVICE_START, SERVICE_START, $hToken);
// 결과를 확인하기
if ($result) {
echo '서비스 권한이 성공적으로 추가되었습니다.';
} else {
echo '서비스 권한 추가에 실패했습니다.';
}
// 서비스 핸들을 닫기
win32_close_service($hService);
// 토큰 핸들을 닫기
win32_close_process_token($hToken);
?>
주의사항
* `Win32_Add_Right_Access_Service` 함수는 Windows XP 이상 버전에서만 사용할 수 있습니다.
* 서비스 권한을 추가하거나 제거할 때 사용하는 마스크와 모드는 서비스 권한에 따라 다를 수 있습니다.
* 서비스 권한을 추가하거나 제거할 때 사용하는 토큰 핸드는 현재 프로세스의 토큰 핸들이어야 합니다.
PHP에서 사용하는 함수
PHP에서 `Win32_Add_Right_Access_Service` 함수를 사용하려면 다음 함수를 사용할 수 있습니다.
* `win32_open_service`: 서비스 핸들을 얻기
* `win32_open_process_token`: 토큰 핸들을 얻기
* `win32_add_right_access_service`: 서비스 권한을 추가하기
* `win32_close_service`: 서비스 핸들을 닫기
* `win32_close_process_token`: 토큰 핸들을 닫기
이러한 함수들은 PHP의 `win32` 확장 모듈에 포함되어 있습니다. PHP의 `win32` 확장 모듈을 사용하려면 PHP를 컴파일할 때 `--enable-win32` 옵션을 사용해야 합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.