[解決済み] IIS8におけるIIS_IUSRSとIUSRのパーミッションについて
質問事項
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 で完全に管理されています。
に変更/書き込み権限を適用する 正しい ユーザーアカウント
-
サイト]リストに表示されたドメインを右クリックし、[サイト]リストで 編集権限
の下には セキュリティ タブをクリックすると
MACHINE_NAME\IIS_IUSRS
が表示されます。 これは、IIS が自動的にこのディレクトリに対して読み取り専用権限を持つことを意味します (例: サイト内で ASP.Net を実行するため)。 このエントリを編集する必要はありません . -
をクリックします。 編集 ボタンをクリックし 追加...
-
テキストボックスに、次のように入力します。
IIS AppPool\MyApplicationPoolName
に置き換えてください。MyApplicationPoolName
をドメイン名やサイトにアクセスしているアプリケーションプールに置き換えてください (例)IIS AppPool\mydomain.com
-
を押してください。 名前の確認 ボタンをクリックします。 入力したテキストが変形します(下線に注目)。
-
プレス OK をクリックしてユーザーを追加します。
-
新しいユーザー(あなたのドメイン)が選択されたので、安全に任意の 修正 または 書く パーミッション
関連
-
ファイルまたはアセンブリ 'System.Data.SQLite' またはその依存関係の 1 つをロードできませんでした。
-
User.Identity.Nameが空の解を取得する
-
[解決済み] ssh "パーミッションが開きすぎています "エラー
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] IISのAppPoolIdentityとファイルシステムの書き込みアクセス権
-
[解決済み] ポート80がSYSTEM(PID 4)で使用されていますが、これは何ですか?
-
[解決済み] IIS8におけるIIS_IUSRSとIUSRのパーミッションについて
-
[解決済み] HTML5モードのAngularJSアプリケーションをURLリライトするためにIISを設定するにはどうすればよいですか?
-
[解決済み] 「IIS7.5でPUTメソッドに「405メソッドは許可されていません」と表示される。
-
[解決済み] MSDeploy.exe経由でのWMSvcからの404の取得
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ファイルまたはアセンブリ 'System.Data.SQLite' またはその依存関係の 1 つをロードできませんでした。
-
User.Identity.Nameが空の解を取得する
-
[解決済み] 「仮想ディレクトリの追加時に「Cannot verify access to path (C:\pub appendix wwwroot)
-
[解決済み] IISのAppPoolIdentityとファイルシステムの書き込みアクセス権
-
[解決済み] ポート80がSYSTEM(PID 4)で使用されていますが、これは何ですか?
-
[解決済み] IIS8におけるIIS_IUSRSとIUSRのパーミッションについて
-
[解決済み] IISへのパブリッシュ、環境変数の設定
-
[解決済み] IIS7でフォルダや拡張子ごとに静的コンテンツキャッシュを設定する方法は?
-
[解決済み] 「IIS7.5でPUTメソッドに「405メソッドは許可されていません」と表示される。
-
[解決済み] MSDeploy.exe経由でのWMSvcからの404の取得