ASP.NET アプリケーションをホストするために、Win2003 の IIS6 から Win2012 の IIS8 に移動しました。
アプリケーションの特定のフォルダー内で、ファイルを作成および削除する必要があります。ファイルを新しいサーバーにコピーした後、ファイルを削除しようとすると、次のエラーが表示され続けました。
パス「D:\WebSites\myapp.co.uk\companydata\filename.pdf」へのアクセスが拒否されました。
IIS を確認すると、アプリケーションが DefaultAppPool アカウントで実行されていることがわかりますが、 IIS AppPool\DefaultAppPoolを含めるようにこのフォルダーに Windows アクセス許可を設定したことはありません。
代わりに、顧客の悲鳴を止めるために、フォルダーに次のアクセス許可を付与しました。
IUSR
- 読み取りと実行
- フォルダの内容を一覧表示する
- 読んだ
- 書く
IIS_IUSRS
- 変更
- 読み取りと実行
- フォルダの内容を一覧表示する
- 読んだ
- 書く
これでうまくいっているように見えますが、あまりにも多くの権限が設定されていることが懸念されます。ここでIUSRが実際に必要かどうかについて、矛盾する情報をオンラインで読みました。このフォルダーでドキュメントを作成および削除するのに十分なユーザー/権限を明確にすることはできますか? また、IUSR は IIS_IUSRS グループの一部ですか?
更新と解決策
以下の私の回答をご覧ください。最近のいくつかの提案はよく考えられていなかったか、安全でさえなかったので(IMO)、悲しいことにこれをしなければなりませんでした。