라이브러리

[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` 옵션을 사용해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 43 페이지

검색

게시물 검색