IIS 7.5(Windows 7)-HTTPエラー401.3-不正


81

localhostでASP.Net Webサイトをテストしようとしていますが、このエラーが表示されます。

HTTP Error 401.3 - Unauthorized
You do not have permission to view this directory or page because of
the access control list (ACL) configuration or encryption settings for
this resource on the Web server.

Webサイトのアプリケーションフォルダーには、完全な読み取り/書き込み権限を持つ次のユーザーがいます。

  • ネットワークサービス
  • IIS_IUSRS
  • システム
  • 管理者
  • ネイサン(私)

これを修正するにはどうすればよいですか?


私はこの問題を数時間追いかけてきました。既にIUSRがあり、Server \ IUSRが読み取りアクセス許可を取得します。私の問題は、Zipファイルから抽出された暗号化されたフォルダーであることが判明しました。フォルダ名が緑色の場合は、プロパティボックスの詳細設定からチェックボックスを削除してみてください。これで問題が解決しました。
ライオネルモリソン14

回答:


123

IIS 7は、IIS経由でファイルにアクセスするためのデフォルトユーザーとして「IUSR」も作成します。したがって、ユーザーIUSRにファイル/フォルダーへの読み取りアクセス権を付与します。

IUSRがAccessを読んだかどうかを確認する方法は?右クリック->フォルダ->プロパティ->セキュリティタブIUSRがグループまたはユーザー名リストにあるかどうかを確認します(いいえの場合)。

[編集]-> [追加]-> [詳細]-> [今すぐ検索]-> [IUSRを選択]をクリックし、[OK]を4回クリックします。


5
正しい場所から検索していることを確認してください。仕事のドメインでIUSRを検索しましたが、何も見つかりませんでした。次に、場所を自分のマシン名に変更しました。
マイクブランドフォード

8
注:マシン上で機能するには、IUSRとIIS_IUSRSの両方にアクセスする必要がありました。IUSRを追加した後、IIS_IUSRSを削除しようとしました。
kdawg

1
ただ追加するだけIIS_IUSRsでは十分ではないことに驚きました。私も追加する必要がありましたIUSR。価値がある:o)
オーウェンブラッカー

確かに、IUSRユーザーは既にデフォルトでIIS_IUSRSのメンバーですか?私のサーバーは、wwwrootに設定されたデフォルトの許可についてIUSRについて言及していないようです。
NickG 14

33

別のフォーラムでこれを見つけたので、私は信用を取ることができませんが、私はそれをしました、そしてそれは私のために働いた:

「IIS7で匿名認証設定を変更してみてください。

[認証]をクリックし、[匿名認証]を選択して[編集]をクリックします。開始ウィンドウで[アプリケーションプールID]を選択し、[OK]をクリックします。」


5
これが私のためにしたことです。
クリスマリシック

私はなりすましを使用しており、これが何らかの形で問題でした。理由はわかりませんが、うまくいきました!
ジャロッド

これは今日私が私のすべての髪を引き裂くのを止めました。ありがとうございました。
パウスカ

IIS 8.5では、新しいアプリケーションのデフォルトはアプリケーションプールIDを使用するのではなく、IUSRのみを使用するようです。私には少し落とし穴のようです!
病原体

「アプリプールを実行しているユーザー」と「「匿名」認証後にアプリプールによって偽装されたユーザー」に別々のIDを使用することは理にかなっていますが、後知恵でこの答えを見つけた後にのみです。
シャンブレーター

20

Windows Server 2008上のIIS 7.5でも同じ問題が発生しました。私にとっては、次の手順で問題を解決できました。

  • IISマネージャーを開く
  • 編集するウェブサイトをクリックします
  • 認証をダブルクリック
  • [ 匿名認証 ]をクリックし、[ アクション ]の下の[ 編集... ]をクリックします
  • 特定のユーザーの代わりにアプリケーションプールID資格情報を使用するように変更します(私のものはIUSRでした)

この変更を行った後、401.3エラーが消えました。


10

ログインメカニズムを使用していますか、それとも単なる匿名認証ですか?

匿名の場合は、IISマネージャーの[認証]アイコンで匿名認証名を選択し、[アクション]の[編集]ボタンをクリックします。そこで指定されているユーザーを確認し、サイトのファイル/フォルダーへのアクセス許可があることを確認してください。

何らかのログインシステムがある場合は、ログインするユーザーにサイトのファイルへのアクセス許可があることを確認し、実行中のアプリケーションプールのIDに少なくとも読み取りアクセス権があることを確認してくださいファイルに。


3

既定では、IIS 7.5では、各アプリケーションプールは独自の「仮想ID」の下で実行されます。アプリプールのIDは、ファイルシステムへのアクセスに使用される資格情報です。

その仕組みについてはわかりませんが、Microsoftは、特定のインストールシナリオでサービスアカウントを作成する必要性を軽減しながら、デフォルトインストールのセキュリティを強化するためにこれを行いました。いずれにしても、この「仮想ID」アカウントを識別してディレクトリへのアクセスを許可するか、アプリケーションプールのサービスアカウントを変更する必要があります。

アプリケーションプールの仮想IDは「IIS AppPool \」という名前です。したがって、DefaultAppPoolを使用している場合、そのIDは「IIS AppPool \ DefaultAppPool」になります。

詳細については、この記事を参照してください。


3

こんにちは、IIS 8の仕事の場合:1)IIS仮想ディレクトリに移動します-2)認証-3)匿名認証-4)アプリケーションプールIDを設定します。


IUSRの回答とこの回答の両方は、私が出くわしたすべてのケースで完全なソリューションに必要です
ブライアン・ノブラウフ

2

上記の回答のどれも役に立たなかったため、win7とIIS7を実行しているローカルマシンで問題にぶつかったときに、この問題をどのように解決したかを共有すると思いました。

  • IIS7->アプリケーションプールに移動します

    サイトのアプリケーションプール(私の場合はDefaultAppPool)を見つけ、右クリックして[詳細オプション]を選択します。

    「プロセスモデル」の章を見つけて、フィールドIDをWebサイトフォルダー(私の場合はローカル管理者)のファイルに確実にアクセスできることがわかっているユーザーに変更します。


2

受け入れられた回答に関するコメントからの情報を含めるために回答する。

Windows Server 2008r2上のIIS 7.5では、IIS_IUSRSグループが既に含まれていますが、ファイルアクセス/ダウンロードを許可するために、別のIUSRグループをアクセス許可に追加する必要があります。

アカウントの違いの詳細については、「IISのビルトインユーザーアカウントとグループアカウントについてを参照してください


1

これを試してください...コンピューターの管理に移動します(コンピューターを右クリックして[管理]を選択)->ローカルユーザーとグループ->ユーザー-> IUSR_MACHINENAMEを選択->右クリックプロパティ->メンバーであることを確認しますIIS_WPGとユーザーであり、ゲストではありません。


Server 2008 R2を使用していますが、リストにIUserアカウントがありません。


1

IISを使用aspnet_regiis -cしてIISのクライアント側をインストールしてから、IISをリセットしてください。


1

これでは不十分なユーザーの場合:

私はこれで動作するようになりました:

  • Webサイトの機能ビューを開きます。
  • ハンドラーマッピングに移動します。
  • .cshtmlのパスを見つける
  • 右クリックして[機能のアクセス許可を編集]をクリックします
  • 実行を選択
  • OKを押します。

次に、Webサイトを更新してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.