web-dev-qa-db-ja.com

PHP / IIS6はファイルの読み取り/書き込みにどのユーザーを使用しますか?

私はIIS6にPHP5(FastCGI)をインストールしましたが、どのWindowsユーザーがPHPがファイルシステムへのアクセスに使用しているのですか?

たとえばASP.NETでは、ASPNETアカウントを使用してファイルシステムにアクセスします。しかし、PHPはどうですか?

匿名(つまりIUSR)アカウントを使用していることを示唆する post をいくつか読みました。しかし、IUSRアカウントへの書き込みアクセスを許可した場合、それはセキュリティ違反ではありませんか?

ありがとう!

6
Stung

クレイグは正しいです。IIS6のデフォルトは、ネットワークサービスアカウントとして実行されます。 test.phpでPHPinfoを使用することは、これを診断するための優れた方法です。

IIS here byOSで実行されているコードの「アイデンティティ」についてブログを書きました

お役に立てば幸いです。

デイブ

3
Dave Cox

IISサービスを実行しているユーザーなら何でも使用できると思います。しかし、これをすばやく簡単に見つける方法は次のとおりです。

  1. 次の行をtest.phpというファイルにドロップします。<?php phpinfo(); ?>

  2. Test.phpをIISドキュメントルートの下に置き、ブラウザで表示します

  3. ユーザー名を含む出力の行を探してください。それは間違いなくどこかにあります。

1
David North

Php.iniで変更する必要があります:

fastcgi.impersonate = 1;

したがって、PHPは、IIS(w3wp.exe)が使用するのと同じアカウントを使用します。(ユーザー:IUSR)。

IIS6では、デフォルトのワーカープロセスユーザーはNETWORKSERVICEです。タスクマネージャーを開くと、w3wp.exeプロセスがこのアカウントとして実行されている可能性があります。

また、ASPNETユーザーはIIS5から持ち越されたものです。 「IIS5分離モード」を使用するようにIIS6を構成していない限り、ASP.NETはNETWORKSERVICEアカウントでも「実行」されます。

0
Craig