관리자 권한 없이 응용 프로그램에서 Windows 서비스 시작(C )
질문:
방법 사용자가 관리자 권한 없이 비관리자 응용 프로그램에서 Windows 서비스를 시작하거나 중지할 수 있습니까?
답변:
관리자가 아닌 사용자에게 다음 기능을 부여하려면 Windows 서비스를 시작하고 중지하려면 서비스 권한을 수정하세요. 이 프로세스는 서비스 설치 중에 이상적으로 수행되어야 합니다.
다음 단계를 사용하십시오.
<code class="pre">wchar_t sddl[] = L"D:" L"(A;;CCLCSWRPWPDTLOCRRC;;;SY)" // default permissions for local system L"(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)" // default permissions for administrators L"(A;;CCLCSWLOCRRC;;;AU)" // default permissions for authenticated users L"(A;;CCLCSWRPWPDTLOCRRC;;;PU)" // default permissions for power users L"(A;;RP;;;IU)" // added permission: start service for interactive users ;</code>
<code class="pre">PSECURITY_DESCRIPTOR sd; if (!ConvertStringSecurityDescriptorToSecurityDescriptor(sddl, SDDL_REVISION_1, &sd, NULL)) { fail(); } if (!SetServiceObjectSecurity(service, DACL_SECURITY_INFORMATION, sd)) { fail(); }</code>
관리자가 아닌 사용자에게도 서비스를 중지할 수 있는 권한을 부여하려면 SDDL 문자열에 WP 권한을 포함하세요.
<code class="pre">L"(A;;RPWP;;;IU)" // added permissions: start service, stop service for interactive users</code>
에 대한 추가 SDDL 코드는 Wayne Martin의 블로그 항목을 참조하세요. 서비스 권한입니다.
위 내용은 관리자가 아닌 사용자가 C에서 Windows 서비스를 어떻게 시작하고 중지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!