Проблема с разрешениями при загрузке изображений с использованием PHP в IIS - PullRequest
2 голосов
/ 07 марта 2009

Мы только что переместили веб-сайт на новый сервер, оба сервера работают под управлением Windows Server 2003 с IIS в качестве веб-сервера.

При загрузке изображений мы требуем, чтобы загруженные файлы имели определенные разрешения для учетной записи NETWORK SERVICE. Изображения загружаются с использованием PHP, затем они фильтруются ImageMagick с использованием двоичного файла mogrify.exe для изменения размера и помещаются в новую папку, созданную PHP.

Проблема, с которой мы сталкиваемся, заключается в том, что загруженный файл не наследует разрешения NETWORK SERVICE, хотя папка имеет.

Я запустил filemon, чтобы увидеть все ошибки и получить следующее:

mogrify.exe: 6396 ОТКРЫТЬ C: \ inetpub \ wwwroot \ example.com \ data \ 334480 \ test.jpg ОТКЛЮЧЕННЫЙ ДОСТУП ДЛЯ NT AUTHORITY \ NETWORK SERVICE

Причина, по которой нам требуется доступ к NETWORK SERVICE, заключается в сценарии ASP.NET, который мы используем для изменения размера изображения на лету. Я искал в Google, но не могу найти решение. Есть идеи?

Ответы [ 2 ]

2 голосов
/ 07 марта 2009

Успешно решив проблему, я изменил файл tmp dir для загрузки в php.ini на C: \ Test и дал Test необходимые мне права доступа. Я уже внес это изменение, но при дальнейшей проверке upload_tmp_dir в php устанавливается дважды INI-файл. Загруженные файлы наследуют разрешения временного каталога.

0 голосов
/ 07 марта 2009

Убедитесь, что ACL "NETWORK SERVICE" применяется к "Эта папка, подпапки и файлы", где бы она ни применялась. Кроме того, попробуйте создать новую папку где-нибудь еще с тем же списком ACL и посмотрите, не наследуют ли файлы, созданные в PHP, разрешение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...