WebアプリケーションのIIS7フォルダーのアクセス許可


91

IIS7を使用して、会社のイントラネットWebサイトで偽装なしのWindows認証を使用しています。

IIS7では、これらの設定を使用して、私のWebアプリを含むフォルダーへのアクセスにどのアカウントが使用されますか?

IIS_IUSRSでしょうか?またはネットワークサービス?または私が知らない別の?


回答:


127

IIS 7(IIS 7.5ではない)では、サイトは、サイトのアプリケーションプールで設定されたアカウントに基づいてファイルとフォルダーにアクセスします。IIS7のデフォルトでは、このアカウントはNETWORK SERVICEです。

アプリケーションプールのIDを指定する(IIS 7)

IIS 7.5(Windows 2008 R2およびWindows 7)では、アプリケーションプールは、アプリケーションプールの起動時に作成されるApplicationPoolIdentityの下で実行されます。このアカウントにACLを設定する場合は、IIS AppPool\ApplicationPoolNameではなくを選択する必要がありますNT Authority\Network Service


34
文字通りIIS AppPool\ApplicationPoolNameではなく、であることに注意してくださいIIS AppPool\<yourpoolname>
ジェフS

21
IIS 7.5では、アプリケーションプールのデフォルトのIDはApplicationPoolIdentityです。ApplicationPoolIdentityは、 "IIS APPPOOL \ AppPoolName"と呼ばれるWindowsユーザーアカウントを表します。これは、アプリケーションプールの作成時に作成されます。ここで、AppPoolNameはアプリケーションプールの名前です。「IIS APPPOOL \ [AppPoolName]」ユーザーは、デフォルトでIIS_IUSRSグループのメンバーです。したがって、IIS_IUSRSグループ
Be.St

より最近のバージョンのWindowsを使用している人は、同様の問題がある場合、この記事が「AppPool \ DefaultAppPool」アカウントの設定に役立つことがあります:iis.net/learn/manage/configuring-security/…。これは、Windows 8から8.1にアップデートした後に発生するエラーを回避するのにも役立ちます。「設定ファイルの読み込み中にエラーが発生しました:アクセスが拒否されたため、[フルファイルパス]への変更の監視を開始できませんでした。」
Matty J

アプリケーションプールに完全な許可を与えましたが、それでも拒否されたアクセス権を取得しています。
Yousi 2014年

26

http://forums.iis.net/t/1187650.aspx が答えを持っています。これを解決するには、iis認証をアプリケーションプールIDに設定します。

IIS認証では、匿名認証が「特定のユーザー」に設定されていました。アプリケーションプールに変更すると、サイトにアクセスできます。

設定するには、IISでWebサイトをクリックし、[認証]をダブルクリックします。「匿名認証」を右クリックし、「編集...」オプションをクリックします。「特定のユーザー」から「アプリケーションプールID」に切り替えます。これで、IIS AppPool \ {Your App Pool Name}を使用してファイルとフォルダーのアクセス許可を設定できるようになります。


3
これは非常に役立ちました。匿名認証を「特定のユーザー」から「アプリケーションプールID」に変更しない場合、IIS AppPool \ {Your App Pool Name}権限の設定時に権限の変更が反映されません。
デビッド

何てことだ。誰もこれを拾い上げていないようです。これで何時間も掘り進んだだけです。
ジョースウィンデル2017年

19

IIS 7.5を実行して、ローカルコンピューターユーザーIUSRのアクセス許可を追加できました。アプリプールユーザーが機能しませんでした。


16

だれでも助けになるなら、「IIS_IUSRS」グループに許可を与えてください。

「IIS_IUSRS」が見つからない場合は、「MySexyServer \ IIS_IUSRS」のように、サーバー名を前に付けてみてください。


これでうまくいきました。私はサーバー名が欠けていて、まだ誰も言及していない。
drichardson 2016

そのためには、常にローカル表記 "。\ IIS_IUSRS"を使用できます
ベルンハルト

3

30秒で私のために働いた、短くて甘い:

  1. IISマネージャー(inetmgrを実行)
  2. ApplicationPool-> Advanced Settingsに移動します
  3. ApplicationPoolIdentityをNetworkServiceに設定します
  4. ファイルに移動し、プロパティを右クリックして、セキュリティに移動し、[編集]をクリックし、[追加]をクリックして、ネットワークサービスに入り(スペースを入れ、[名前の確認]をクリック)、フルコントロール(または必要な権限のみ)を付与します。

やった!ありがとう
Yazan Khalaileh

1
  1. IIS 7.5とWindows 7で作業しているため、許可APPPOOL / Mypoolを付与できませんでした
  2. IUSRおよびIIS_IUSRS権限が機能しない
  3. 私はこのように問題になりました:

    -C#で作成されたコンソールアプリケーション
    -このようなcreateeventsourceを使用したこのアプリケーション

    if(!System.Diagnostics.EventLog.SourceExists(sourceName))System.Diagnostics.EventLog.CreateEventSource(sourceName、logName);

    -ビルドソリューションと.exeファイルの取得

    -管理者としてexeを実行します。これにより、ログファイルが作成されます。

注:ログを表示するには、イベントビューアを更新する必要があることに注意してください。

この解決策が誰かを助けることを願っています:)

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