2013-09-22 2 views
3

그래서 나는 다음과 같이 윈도우 7 서비스의 상태에 액세스 할 수 PHP 함수를 호출하고 있습니다에 IIS/PHP 권한을 제공 WAMP 인스턴스에서이 함수는 예상대로 정보 배열을 반환합니다.Windows 서비스 제어 관리자 (SCM)

는 IIS에서 실행하면

, 내가 오류 상태 5는 문서에 따라, 다음과 같은 오류에 해당하는 반환받을 :

WIN32_ERROR_ACCESS_DENIED 0x00000005 
The handle to the SCM database does not have the appropriate access rights. 

그래서 phpinfo()를 사용하여, 나는 사용자 이름을 확인 이는 PHP에서 환경이 실행 중입니다. WAMP 사이트에서 서비스가 내 사용자 ID (Windows 로컬 관리자 그룹에있는 사용자)로 실행 중입니다.

IIS 버전에서는 사용자가 F6729-44TP6S7$ (내 컴퓨터 이름이고 그 뒤에 $이옵니다)입니다. 따라서 아마도이 사용자에게 Windows의 SCM (Service Control Manager)에 필요한 권한을 부여하는 것일 수 있습니다.

그러나 문제는 IIS (또는 Windows)의 내부 동작이이 사용자 ID의 출처를 알 수 없다는 것입니다. 즉, 필요한 권한을 부여하는 방법을 모르겠습니다). 사용자가 내 컴퓨터 관리 콘솔에 없으며 IIS 관리 도구에서 정의 된 위치를 찾을 수 없습니다.

질문 :이 PHP 함수가 IIS에서 실행되도록하려면 어떻게해야합니까? IIS에서 PHP 관리자에게 필요한 권한을 부여하려면 어떻게합니까? 또는 PHP 관리자가 실행되는 user-Id를 어떻게 변경합니까?

+0

나는 그것이 유효한 해결책이라고 생각하지 않지만 다른 선택 사항이 없다면 서비스 컨트롤러 ('SC.exe')를 사용하여 특정 사용자/그룹에게 권한을 부여 할 수 있습니다. 'sc sdshow'를 사용하여 현재 SSDL을 얻은 다음 추가 된 권한으로'sc sdset'를 사용할 수 있습니다. 수행중인 작업에 따라 서비스를 쿼리 할 때'scmanager'에 대한 액세스 권한 만 있으면됩니다 :'sc sdset scmanager (SSDL)'. http://technet.microsoft.com/en-us/library/cc742037%28v=ws.10%29.aspx – JoeBilly

+2

[This] (http://msdn.microsoft.com/en-us/library/aa954062. aspx) 귀하의 문제에 대한 공식적인 문서입니다 –

답변

2

분명히 이것은 단순히 google을 알기위한 질문 일뿐입니다. 일단 당신이 무엇을 검색하고 있는지 알게되면 그것을 찾을 가능성이 더 큽니다.

https://serverfault.com/questions/232907/wcf-service-hosted-in-iis7-with-administrator-rights

대답은 :

있음

Sites > [Your Website]

는 IIS 하위 섹션이

Authentication > Anonymous Authentication > [right-mouse "Edit..."] > Select: Application Pool Identity [OK]

이 허용에서보기 "기능"

IIS 관리자에서

로 이동 웹 사이트에 대한 익명 연결, PHP (및 기타 IIS 서비스)를 admin으로 실행 OS 레벨에서.

누군가이 답변을 복제하거나 현상금을 청구하기 위해 답변에 유용한 정보를 추가하려는 경우 계속 진행하십시오. 카르마, 생명의 원, 그 모든 것.