2011-11-10 13 views
0

私はWebサイト用のperlスクリプトを作成しており、WebサイトからVirtualBoxを制御できる必要があります。私はどこから始めるべきか、あるいは私が正しい分野でデバッグしようとしているのかどうかはわかりませんが、ここでは行きます。管理者としてcgi perlスクリプトを実行しています

私のサーバーは、Windows Server 2008 R2上でIIS7を実行しています。また、vboxmanageコマンドラインインターフェイスで2台の仮想マシンを実行しています。これらのVMはSERVER \ administratorで実行されています。

私のウェブサイトを開くと、ログインが要求されます。私はSERVER \ administratorとしてWebサイトにログインし、xmlhttprequestを使用してスクリプトを呼び出すリンクをクリックします。さて、通常どんなユーザーでも実行できますが、vboxmanageでは、別のユーザーとしてコマンドを実行すると、VMのリストが異なります。私はwhoamiを返し、SERVER\administratorを返しましたが、%DOMAINNAME%\%USERNAME%は、サーバーが接続されているドメインをdommainnameとして返し、SERVER$をユーザー名として返します。その後、vboxmanageコマンドが失敗します。

偽装がオンになっています。偽装を無効にすると、リクエストはiis apppool\websiteに変更されます。これを回避する方法に関するアイデア?

最終的に、私はrunasを使用することを考えましたが、パスワードを要求するので、スクリプトを使用して呼び出す方法はありません(これはセキュリティ上の決定が悪いと思います)。

答えて

0

これは頻繁に起こり、よく知られており、よく解決された問題です。 1つの大きなプログラムでWebからの要求を処理し、VMを管理する(強い結合)のではなく、懸念を分けて、それぞれが正確に1つのタスクを実行する2つのプログラムを記述します。

Webサーバーコンテキストで実行されているユーザー向きプログラムは、制限された権限で続行できます。 VMマネージャは、スケジューラから繰り返しまたはデーモン/サービスとして、必要な管理者権限で実行されるスタンドアロンプ​​ログラムです。

最初にで2番目と通信してもらいましたか。

関連する問題