Какой пользователь использует PHP/IIS6 для чтения / записи файлов?
Я установил PHP5 (FastCGI) на IIS6, и мне просто интересно, какой пользователь Windows использует PHP для доступа к файловой системе?
Например, в ASP.NET учетная запись ASPNET используется для доступа к файловой системе. Но как насчет PHP?
Я прочитал несколько постов, которые предполагают, что он использует анонимную (т.е. IUSR) учетную запись. Но разве это не нарушение правил безопасности, если я предоставлю доступ на запись к учетной записи IUSR?
Спасибо!
4 ответа
Крейг прав, по умолчанию для IIS6, будет работать как учетная запись NETWORK SERVICE; Использование PHPinfo в test.php - отличный способ диагностировать это.
Я писал об "идентичности" кода, работающего в IIS, здесь ОС
Надеюсь, это поможет.
Дейв
Вам нужно изменить в php.ini:
fastcgi.impersonate = 1;
Итак, PHP использует ту же учетную запись, что и IIS (w3wp.exe). (Пользователь: IUSR).
Я полагаю, что он будет использовать любого пользователя, которого вы используете службу IIS. Но вот быстрый и простой способ выяснить это:
Перетащите следующие строки в файл с именем test.php: Php phpinfo ();?>
Поместите test.php в корневой каталог документов IIS и просмотрите его в браузере.
Ищите строку в выводе, содержащую имя пользователя, оно определенно где-то там.
В IIS6 пользователь рабочего процесса по умолчанию - NETWORK SERVICE. Если вы откроете диспетчер задач, процесс w3wp.exe, скорее всего, будет работать от имени этой учетной записи.
Кроме того, пользователь ASPNET является переносом из IIS5. Если IIS6 не настроен на использование "режима изоляции IIS5", ASP.NET также "запускается" под учетной записью NETWORK SERVICE.