Назад | Перейти на главную страницу

Проблема с разрешениями на загрузку файлов в Windows Server 2008 R2 IIS 7.5 PHP 5.3 с Drupal v.7.26

У меня есть веб-сайт на версии Drupal: ОС 7.26 на сервере - это веб-сервер Windows Server 2008 R2 $ _SERVER ["SERVER_SOFTWARE"]: Microsoft-IIS / 7.5 Server API: CGI / FastCGI

Ядро

PHP Version: 5.3.28
file_uploads: On
post_max_size: 75M
upload_max_filesize: 50M
upload_tmp_dir: C:\inetpub\wwwroot\tmp
memory_limit: 128M
open_basedir: C:\inetpub\wwwroot;C:\inetpub\wwwroot\tmp

Когда я перехожу в / admin / config / media / file-system

Я вижу сообщения об ошибках:

The directory sites\default\files exists but is not writable and could not be made writable.
The directory tmp exists but is not writable and could not be made writable.

Путь к общей файловой системе: sites \ default \ files Временный каталог: tmp

Я установил разрешения для папок

C:\inetpub\wwwroot\tmp : IIS_IUSRS : Full control
C:\inetpub\wwwroot\sites\default\files : IIS_IUSRS : Full control

Я работаю как администратор: C: \ Users \ Administrator \ Downloads> echo% username% Administrator

Я не могу изменить атрибуты только для чтения для этих папок. Каждый раз, когда я делаю это изменение и нажимаю кнопку «Применить» и «Применить изменения» к этой папке, подпапки и файлы проверяются и нажимаю кнопку «ОК», появляется диалоговое окно «Применение атрибутов ...». По завершении я нажимаю кнопку «ОК» в диалоговом окне свойств папки, закрывая его. Когда я снова открываю диалоговое окно «Свойства», я вижу, что снова установлен флажок «Только для чтения». Как я могу это исправить?

Я выяснил причину этой проблемы.

Исправить это:

Установите правильные разрешения в диспетчере IIS при анонимной аутентификации. Вместо встроенной учетной записи IUSR по умолчанию выберите Удостоверение пула приложений, сохраните новые настройки и перезапустите веб-приложение.

Прочтите подробные инструкции по адресу: http://www.iis.net/learn/get-started/planning-for-security/understanding-built-in-user-and-group-accounts-in-iis

Чтобы предоставить права анонимной учетной записи в сети с помощью диспетчера IIS:

Нажмите кнопку Пуск, введите INetMgr.exe и нажмите клавишу ВВОД. При появлении запроса нажмите «Продолжить», чтобы повысить свои разрешения.

В разделе «Подключения» нажмите кнопку «+» рядом с именем вашего компьютера.

В диспетчере IIS дважды щелкните сайт, который хотите администрировать.

В представлении функций дважды щелкните Проверка подлинности.

Выберите «Анонимная проверка подлинности», а затем нажмите «Изменить» на панели «Действия».

В диалоговом окне «Изменить учетные данные для анонимной проверки подлинности» выберите параметр «Определенный пользователь» и нажмите «Установить».

В диалоговом окне «Установить учетные данные» введите желаемое имя пользователя и пароль, а затем нажмите «ОК».

Также установите полные разрешения для IIS AppPool \ DefaultAppPool для папок, которые должны быть доступны для записи веб-приложению Drupal. В моем случае это две папки:

icacls "c:\inetpub\wwwroot\sites\default\files" /grant "IIS AppPool\DefaultAppPool":F
icacls "c:\inetpub\wwwroot\tmp" /grant "IIS AppPool\DefaultAppPool":F

Также установите правильные пути в файловой системе администратора / admin / config / media / file-system:

Путь к публичной файловой системе: sites \ default \ files

Временный каталог: tmp