2011-11-10 1 views
0

웹 사이트 용 펄 스크립트를 작성 중이며 웹 사이트를 통해 VirtualBox를 제어 할 수 있어야합니다. 어디서부터 시작할 것인지, 아니면 올바른 영역에서 디버깅을 시도 할 지 모르겠다.하지만 여기서는 간다.관리자로 cgi perl 스크립트 실행

내 서버가 Windows Server 2008 R2에서 IIS7을 실행 중입니다. 또한 vboxmanage 명령 행 인터페이스를 통해 2 개의 가상 머신을 실행 중입니다. 이러한 VM은 SERVER \ administrator에서 실행 중입니다.

내 웹 사이트를 열면 로그인을 요청합니다. SERVER \ administrator로 웹 사이트에 로그인하고 xmlhttprequest를 사용하여 내 스크립트를 호출하는 링크를 누릅니다. 이제는 일반적으로 어떤 사용자를 실행해도 문제가되지 않지만 vboxmanage를 사용하면 명령을 다른 사용자로 실행하면 VM 목록이 달라집니다. 내가 SERVER\administrator을 반환 한 whoami을 시도했지만 서버가 dommainname으로 연결되고 SERVER$이 사용자 이름으로 연결된 도메인을 %DOMAINNAME%\%USERNAME%이 반환합니다. 그러면 vboxmanage 명령이 실패합니다.

웹 사이트에서 가장 (impersonation)이 켜져 있습니다. 가장을 사용 중지하면 요청이 변경되어 iis apppool\website이됩니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

마지막주의 사항으로는 runas 사용에 대해 생각해 보았지만 암호를 요구하기 때문에 스크립팅을 통해 호출 할 수있는 방법이 없습니다 (보안 상 잘못된 결정이라고 생각합니다).

답변

0

이것은 자주 발생하는 잘 알려진 잘 해결 된 문제입니다. 웹에서 요청을 처리하고 VM을 관리하는 강력한 프로그램 (강력한 결합) 대신에 관심사를 분리하고 정확하게 각각 하나의 작업을 수행하는 두 개의 프로그램을 작성하십시오.

웹 서버 컨텍스트에서 실행중인 사용자 직면 프로그램은 제한된 권한으로 계속할 수 있습니다. VM 관리자는 스케쥴러에서 반복적으로 또는 데몬/서비스로 필요한 관리자 권한으로 실행되는 독립 실행 형 프로그램입니다.

처음으로 을 통해 두 번째와 통신하도록하십시오.