web-dev-qa-db-ja.com

IIS_IUSRSはファイルにアクセスできますが、アプリケーションプールIDユーザーはアクセスできません

IISファイルのアクセス許可を理解しようとしています。特定のファイルにはIIS_IUSRSの「フルコントロール」アクセス許可があります。しかし、すべてのアプリケーションプールIDユーザーがファイルにアクセスできないようです(一部のユーザーは私のアプリケーションプールIDユーザーは、何らかの理由でIIS_IUSRSのメンバーではなかったため、手動で追加しただけです。)

特定のアプリケーションプールIDがIIS_IUSRSのメンバーである場合、IIS_IUSRSがファイルにアクセスできる場合、アプリケーションプールIDユーザーがファイルにアクセスできないのはどうしてですか。以下のスクリーンショットをご覧ください。ありがとうございました。

IIS_IUSRSには「フルコントロール」があります。

IIS_IUSRSには、[有効なアクセス許可]の下に[フルコントロール]もありますが、特定のアプリケーションプールIDユーザーには、[有効なアクセス許可]の下にアクセス許可がありません。

2
user1325179

デフォルトで匿名認証を使用する場合IISはIUSRという名前の特定のユーザーを使用してファイルにアクセスします。このユーザーは自動的にWindowsUsersのメンバーになりますが、_IIS_IUSRS_のメンバーにはなりません。

ファイルからUsersのアクセス許可を削除すると、デフォルトのサイト設定は機能しなくなります。

私は通常IUSRを使用しません。これをGUIで変更するには、サーバーまたはサイトノードを選択してAuthenticationアイコンを開き、右側の[操作]ウィンドウで_Anonymous Authentication_とEditを選択します。

Anonymous Authentication settings in IIS

特定のユーザーから_Application pool identity_に変更すると、ファイルアクセスはこのアカウントを介して行われ、ファイルにアクセスできるようになります。

PowerShellでも同じことができます。

サーバー全体の場合:

_Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/security/authentication/anonymousAuthentication" -name "userName" -value ""
_

特定のサイトの場合:

_Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'SiteName' -filter "system.webServer/security/authentication/anonymousAuthentication" -name "userName" -value ""
_

私はこれについて少し書いた ブログ投稿

6
Peter Hahndorf