0

次のWeb配置コマンドを実行しようとしています。

msdeploy.exe -verb:dump -source:dirPath="C:\Deploy",wmsvc=localhost,username=<user>,password=<pass>

JohnとMaryの2人のユーザーでこれを実行しようとしました。ジョンはボックスの管理者グループのメンバーですが、メアリーはそうではありません。コマンドはJohnに対しては機能しますが、Maryに対しては401で失敗します。

私は次のように設定しています:

  • Maryは、ACLを介してC:\ Deployに完全にアクセスできます(Administratorsグループも同様です)。
  • JohnとMaryの両方が、委任機能を使用してIISのC:\ Deploy dirPathへのアクセスを許可されています(以下を参照)。

私のadministration.configエントリ:

<rule enabled="true" providers="dirPath" actions="*" path=".*" pathType="RegularExpression">
    <runAs identityType="SpecificUser" userName="AnAdministrator" password="..." />
    <permissions>
        <user name="PC\John" isRole="false" accessType="Allow" />
        <user name="PC\Mary" isRole="false" accessType="Allow" />
    </permissions>
</rule>

MaryをAdministratorsグループに追加すると、コマンドが機能します。ただし、委任の全体的なポイントは、非管理者として展開コマンドを実行できるようにすることです。メアリーには他のコマンド(例:-verb:dump -source:appHostConfig = "Default Web Site")を正常に実行できます。機能していないのはdirPathだけです。

WMSvc.logには、失敗したコマンドのエラーが含まれていないようですが、成功したコマンドは問題なく表示されます。失敗したリクエストのトレースにHEADリクエストの401が表示されますが、なぜ発生しているのかはわかりません...

どんなポインタでもありがたいです。

4

2 に答える 2

1

RunAs ID "AnAdministrator"には、c:\ Deployにアクセスするためのアクセス許可が必要です。これは、MaryとJohnの両方がこのユーザーとして偽装されるためです(元のIDが失敗した場合、Johnは偽装されません)。ACL C:\ AnAdministratorユーザーにデプロイして、再試行してください。

ServerValidatorツールを使用して、環境が委任された展開の準備ができているかどうかを確認することもできます。

于 2011-02-02T20:38:49.337 に答える
1

zcrar70、その通りです。委任は、ユーザーがサイトのスコープにアクセスできるようになったときにのみ開始されます。あなたの例では、(IISマネージャーのアクセス許可を介して)PC \ Maryにサイトへのアクセスを許可した場合、これは問題なく機能します。

シナリオをもう少し詳しく説明していただけますか?管理者以外のユーザーに、すべてのサイトで特定のプロバイダーを実行する権限を与えようとしていますか?

于 2011-02-08T18:48:17.473 に答える