【问题标题】:Running a cgi perl script as an Administrator以管理员身份运行 cgi perl 脚本
【发布时间】:2011-11-10 20:01:49
【问题描述】:

我正在为一个网站编写一个 perl 脚本,我需要能够通过该网站控制 VirtualBox。我不知道从哪里开始,或者我什至想在正确的区域进行调试,但是这里是。

我的服务器在 Windows Server 2008 R2 上运行 IIS7。我还通过 vboxmanage 命令行界面运行 2 个虚拟机。这些虚拟机在 SERVER\administrator 下运行。

当我打开我的网站时,它会请求登录。我以 SERVER\administrator 身份登录网站,然后单击使用 xmlhttprequest 调用我的脚本的链接。现在,通常,我以哪个用户身份运行这些命令并不重要,但使用 vboxmanage,如果我以不同用户身份运行命令,则 VM 列表会有所不同。我试过whoami,它返回SERVER\administrator,但%DOMAINNAME%\%USERNAME%返回服务器连接的域作为域名和SERVER$作为用户名。然后 vboxmanage 命令失败。

在网站上,模拟已打开。当我关闭模拟时,whoami 请求更改为 iis apppool\website。关于如何解决这个问题的任何想法?

最后一点,我曾考虑过使用 runas,但由于它会提示输入密码,因此无法通过脚本调用它(我想那将是一个糟糕的安全决定)。

【问题讨论】:

    标签: perl iis cgi impersonation


    【解决方案1】:

    这是一个经常出现、众所周知且已得到很好解决的问题。与其让一个大程序处理来自 Web 的请求并管理 VM(强耦合),不如将关注点分开并编写两个程序,每个程序只执行一项任务。

    在 Web 服务器上下文中运行的面向用户的程序可以继续使用有限的权限。 VM 管理器是一个独立程序,以必要的管理员权限运行,可以从调度程序重复运行,也可以作为守护程序/服务运行。

    让第一个通过 与第二个通信。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多