web-dev-qa-db-ja.com

IIS)でASP.NETの正しいファイルアクセス許可を設定する方法

HTTPエラー500.19-内部サーバーエラーページに関連する構成データが無効であるため、要求されたページにアクセスできません。

エラーコード:0x80070005
構成エラー:権限が不十分なため、構成ファイルを読み取れません

IIS 7.5で新しいWebアプリケーションを追加して実行すると、このページが表示され、この問題を解決する方法win7 Ultimate Visual Studio 2010

enter image description here

8
Thaer Mosa

メッセージは明確です。

権限が不十分なため、構成ファイルを読み取れません

それを解決する方法。

すべてのasp.netアプリケーションは割り当てられた1つのプールで実行され、各プールは特定のアカウントで実行されます

IISを開き、アプリを実行しようとしているプールを見つけ、そのプールに割り当てられているユーザーを確認し、サイトディレクトリツリー全体でそのユーザーに読み取りアクセス許可を付与します。

Web.configに特に

web.config、そのconfiguration fileそのメッセージには、(および)書き込み権限が必要です。

したがって、サイトのルートでweb.configを見つけて右クリックし、アクセス許可に移動して、プールユーザーに書き込み機能を付与します。プールユーザーは、以下で説明するように、プールが実行される魔女の下のユーザーです。

詳細

IISでパブリックasp.netサイトを実行できるようにするには、ディレクトリ上の各ファイルに2つのアカウントのアクセス許可が必要です。

パブリックアクセスが許可されている1つのアカウントと、そのアプリケーションプールに割り当てられているアカウントが持っています。

最初のアカウントを検索/評価するには、IISサイトにアクセスします|認証|そのスクリーンショットに表示されているように、編集して表示または変更します。

その名前に注意してください。プールを実行しているユーザーを検索します。
IISサイトに移動し、[基本設定]をクリックしてプール名を見つけてから、IIS |アプリケーションプール]に移動し、を参照してください。 [ID]列に、サイトが実行されている魔女の下のユーザーの名前をメモします。

2人のユーザー名ができたので、サイトのルートに移動し、次のように読み取られる最小のアクセス許可を設定します。

いくつかの注意事項

  • IIS_Public_ACCESS_USERに読み取りアクセス許可が与えられていない場合、サイトは実行されますが、パスワードを要求します
  • 一部のディレクトリでは、たとえばユーザーに画像のアップロードを許可したり、App_Data、一部のデータベースファイルを保持したりする場合など、書き込み権限が必要です。指定したディレクトリとIIS_POOL_USERへの書き込み権限のみ。
  • App_DataやApp_Codeなどの一部のディレクトリは、asp.netから直接保護されており、クライアント側の誰もがそこにあるものを実行または表示することを許可していません。
  • ユーザーへの書き込みアクセスを許可するパブリックディレクトリに、1つのweb.configを追加し、asp.netファイルの実行をすべて完全に無効にします。

書き込み権限を付与するディレクトリの詳細 ハッキングされました。アップロードされたAspxSpyという邪悪なaspxファイル。まだ試行中です。トラップするのを手伝ってください!

25
Aristos