1. ホーム
  2. iis

[解決済み] IIS8におけるIIS_IUSRSとIUSRのパーミッションについて

2022-04-25 22:05:22

質問事項

ASP.NETアプリケーションをホストするために、Win2003上のIIS6からWin2012上のIIS8に移行したところです。

私のアプリケーションのある特定のフォルダー内で、ファイルを作成したり削除したりする必要があります。 新しいサーバーにファイルをコピーした後、ファイルを削除しようとすると、次のエラーが表示されます。

Access to the path 'D:\WebSitesmyapp.co.uk³³companydatafilename.pdf' is denied.

IIS を確認すると、アプリケーションは DefaultAppPool アカウントで実行されていますが、このフォルダーに Windows のアクセス権を設定したことはなく、次のようなものが含まれています。 IIS AppPool ↵DefaultAppPool

その代わり、お客様の悲鳴を止めるために、私はそのフォルダに以下の権限を与えました。

IUSR

  • リード&エグゼキュート
  • フォルダの中身を一覧表示
  • 読む
  • 書く

IIS_IUSRS

  • 修正
  • 読み取りと実行
  • フォルダの中身を一覧表示
  • 読む
  • 書く

これでうまくいったように見えますが、権限が設定されすぎていないか心配です。 ネット上で、以下のような相反する情報を読みました。 IUSR は、実際には全く必要ありません。 どなたか、このフォルダで文書の作成と削除を行うには、どのユーザー/権限があれば十分なのか、明らかにしていただけませんか? また、IUSRはIIS_IUSRSグループの一部なのでしょうか?

更新と解決

ご覧ください 以下は私の回答です。 . 最近の提案の中には、よく考えられていないものや、安全性に欠けるものがあったため、悲しいかな、こうせざるを得なかったのです(IMO)。

解決方法は?

自分の回答を載せるのは嫌なのですが、最近、私が質問で載せた解決策を無視して、無謀としか言いようのない方法を提案する回答があります。

要するに-。 Windowsのユーザーアカウント権限を編集する必要は全くありません。 . それはリスクをもたらすだけです。 このプロセスは、継承された特権を使用して IIS で完全に管理されています。

に変更/書き込み権限を適用する 正しい ユーザーアカウント

  1. サイト]リストに表示されたドメインを右クリックし、[サイト]リストで 編集権限

    の下には セキュリティ タブをクリックすると MACHINE_NAME\IIS_IUSRS が表示されます。 これは、IIS が自動的にこのディレクトリに対して読み取り専用権限を持つことを意味します (例: サイト内で ASP.Net を実行するため)。 このエントリを編集する必要はありません .

  2. をクリックします。 編集 ボタンをクリックし 追加...

  3. テキストボックスに、次のように入力します。 IIS AppPool\MyApplicationPoolName に置き換えてください。 MyApplicationPoolName をドメイン名やサイトにアクセスしているアプリケーションプールに置き換えてください (例) IIS AppPool\mydomain.com

  4. を押してください。 名前の確認 ボタンをクリックします。 入力したテキストが変形します(下線に注目)。

  5. プレス OK をクリックしてユーザーを追加します。

  6. 新しいユーザー(あなたのドメイン)が選択されたので、安全に任意の 修正 または 書く パーミッション