FastCGI経由でIIS 8.5 with PHP(さまざまなバージョン))を実行しています。FastCGIのPHP config)で偽装がオンになっています。アプリプールは、アプリプールIDを使用するように設定されています。実際、ファイルへの書き込みアクセスを実際に拒否すると、それに応じて動作しますが、デフォルトでは、すべてのファイルが自分のサイトに書き込み可能であるように見えます。
有効なアクセス許可を表示すると、アプリケーションプールID(IIS AppPool\PoolName)にアクセス許可がまったく割り当てられていないことがわかります。 App Pool Identityが継承するデフォルトのアカウントがあり、デフォルトで書き込みアクセスを防ぐために調整する必要があります。私が読んだすべてのことは、アプリプールIDが、アプリケーションが割り当てられている仮想フォルダーへの読み取り専用アクセスをデフォルトにする必要があることを示しているように見えましたが、これは観察された動作と一致しません(具体的には、PHPBB3は、構成ファイルが書き込み可能であり、特に書き込みアクセスを設定すると、フォーラムからファイルをアップロードできます)。
何が権限を妨害している可能性がありますか、または意図されたデフォルトの動作の私の理解が正しくありませんか?
私はもう少し掘り下げて、最終的にこれに対する答えを思い付くことができました。ファイルを「認証済みユーザー」に変更可能にする設定が適用されたようです。継承を解除し、この権限を削除すると、問題が解決しました。
どうやらそれは、dllなどをロードするためのアクセス権を持っていることを保証するためにUsersグループとAuthenticatedUsersグループに含まれています。私は この答え on SOこれを理解するのに非常に役立ちました。