我正在为网站编写perl脚本,我需要能够通过网站控制VirtualBox。我不确定从哪里开始,或者我是否尝试在正确的区域进行调试,但是这里有。
我的服务器在Windows Server 2008 R2上运行IIS7。我还通过vboxmanage命令行界面运行2个虚拟机。这些VM在SERVER \ administrator下运行。
当我打开我的网站时,它会请求登录。我以SERVER \ administrator身份登录网站,然后单击使用xmlhttprequest调用我的脚本的链接。现在,通常情况下,我运行这些用户并不重要,但是使用vboxmanage,如果我以不同的用户身份运行该命令,则VM列表会有所不同。我尝试whoami
,返回SERVER\administrator
,但%DOMAINNAME%\%USERNAME%
返回服务器连接的域名为dommainname,SERVER$
作为用户名。然后vboxmanage命令失败。
在网站上,假冒已开启。当我关闭模拟时,whoami
请求将更改为iis apppool\website
。关于如何解决这个问题的任何想法?
作为最后一点,我已经考虑过使用runas,但由于它提示输入密码,因此没有办法通过脚本来调用它(这可能是一个糟糕的安全决策,我想。) p>
答案 0 :(得分:0)
这是一个反复出现,众所周知且解决得很好的问题。不是让一个大程序处理来自Web的请求并管理VM(强耦合),而是将关注点分开并编写两个程序,每个程序只完成一个任务。
在Web服务器上下文中运行的面向用户的程序可以继续使用有限的权限。 VM管理器是一个独立的程序,具有必要的管理权限,可以从调度程序重复执行,也可以作为守护程序/服务运行。
让第一个通过message-queue与第二个进行通信。