Какого пользователя PHP/IIS6 использует для чтения/записи файлов?

Какого пользователя PHP/IIS6 использует для чтения/записи файлов?

Я установил PHP5 (FastCGI) на IIS6 и мне интересно, какой пользователь Windows использует PHP для доступа к файловой системе?

Например, в ASP.NET учетная запись ASPNET используется для доступа к файловой системе. А как насчет PHP?

Я прочитал некоторыепочтакоторые предполагают, что он использует анонимную учетную запись (т.е. IUSR). Но не будет ли это нарушением безопасности, если я предоставлю доступ на запись учетной записи IUSR?

Спасибо!

решение1

Крейг прав, по умолчанию IIS6 будет работать от имени учетной записи NETWORK SERVICE; использование PHPinfo в test.php — отличный способ диагностировать это.

Я писал в блоге об «идентичности» кода, работающего в IISздесьпо ОС

Надеюсь, это поможет.

Дэйв

решение2

Я думаю, что он будет использовать любого пользователя, под которым вы запускаете службу IIS. Но вот быстрый и простой способ узнать:

  1. Добавьте следующие строки в файл test.php: <?php phpinfo(); ?>

  2. Поместите test.php в корневой каталог документов IIS и просмотрите его в браузере.

  3. Найдите в выводе строку, содержащую имя пользователя, оно определенно где-то там есть.

решение3

Вам необходимо изменить в php.ini:

fastcgi.impersonate = 1;

Итак, PHP использует ту же учетную запись, что и ваш IIS (w3wp.exe). (Пользователь: IUSR).

решение4

В IIS6 пользователь рабочего процесса по умолчанию — NETWORK SERVICE. Если вы откроете диспетчер задач, процесс w3wp.exe, скорее всего, будет запущен под этой учетной записью.

Кроме того, пользователь ASPNET является перенесенным из IIS5. Если только IIS6 не настроен на использование "режима изоляции IIS5", ASP.NET также будет "работать" под учетной записью NETWORK SERVICE.

Связанный контент