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

Предположение, что Вы хотите, чтобы процессы веб-сервера смогли считать и записать файлы в (но не подавать содержание от) каталог, Вы хотите

  • создайте каталог за пределами корня документа
  • измените владение этого каталога пользователю и сгруппируйте Ваши выполнения веб-сервера как
  • измените режим этого каталога к 0700

Если Ваш веб-сервер не работает как никто (непривилегированный пользователь, что некоторые дистрибутивы выполняют несколько серверных процессов под), примите во внимание, что другие процессы, работающие как этот пользователь, могут достигать каталог также. Если это - проблема, можно хотеть создать преданного пользователя для веб-сервера. Это повлечет за собой изменение конфигурации веб-сервера и/или запустит сценарии в дополнение к созданию пользователя и группы.

Так как я рекомендую режим 0700, группа технически не важна, но необходимо помнить, что веб-сервер может создать файлы с более широкими полномочиями (664 или 775) в этом каталоге, если umask пользователя веб-сервера установлен на 002 вместо более - общие 022. Специализированная группа гарантирует, что такие файлы весьма внимательно открыты до записей другими членами общей группы, что Вы могли бы всунуть пользователя веб-сервера.

6
задан 22 January 2010 в 19:04
4 ответа

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

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

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

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

1
ответ дан 3 December 2019 в 00:34

В IIS6 пользователем рабочего процесса по умолчанию является СЕТЕВАЯ СЛУЖБА. При открытии Task Manager процесс w3wp.exe будет, вероятно, работать как эта учетная запись.

Кроме того, пользователь ASPNET является переносом от IIS5. Если у Вас нет IIS6, настроенного для использования "режима изоляции IIS5" ASP.NET, также "работал" бы в соответствии с учетной записью СЕТЕВОЙ СЛУЖБЫ.

0
ответ дан 3 December 2019 в 00:34

Craig прав, значение по умолчанию для IIS6, будет работать как учетная запись СЕТЕВОЙ СЛУЖБЫ; использование PHPinfo в test.php является отличным способом диагностировать это.

Я вел блог об "идентификационных данных" кода, работающего в IIS здесь ОС

Надежда, которая помогает.

Dave

3
ответ дан 3 December 2019 в 00:34

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

fastcgi.impersonate = 1;

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

1
ответ дан 3 December 2019 в 00:34

Теги

Похожие вопросы