Какое правильное решение для веб-сервера пытается записать в каталог?

Итак, у меня есть ящик с пользователем «развернуть». Этот пользователь развертывания владеет репозиторием кода, а WordPress работает в этом поле …

Когда WordPress пытается сделать что-то вроде загрузки плагина, пользователь использует «www-data» для записи в «wp-content / plugins». По-видимому, он загружает zip-файл, распаковывает, а затем удаляет zip-файл.

  • Восстановление RAID5 с использованием «mdadm --create ... missing»
  • Случайно удаленные / etc / network / interfaces на Ubuntu
  • Я не могу изменить пароль пользователя на ubuntu
  • Как восстановить таблицу разделов (Windows, Ubuntu) нераспределенного диска?
  • Не удается подключиться к Интернету в Ubuntu 10.10
  • Добавление неиспользуемого раздела в файловую систему Linux
  • Я продолжал сталкиваться с проблемами, когда WordPress не смог выполнить эти действия. Поскольку весь мой репозиторий кода был установлен как владелец и группа: «deploy: deploy», очевидно, что www-data не имеет доступа к этому.

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

    usermod -a -G deploy www-data 

    Сразу же после выдачи этой команды я обнаружил, что больше не могу ssh в коробку. Полностью смущен, почему … может кто-нибудь может меня наполнить? Поэтому я закончил:

     chmod -R go-w ~ 

    И тогда снова можно было бы ssh … делая «группы www-data», показало развертывание как один из вариантов, поэтому я подумал, что ура … Я пошел и убедился, что все каталоги wp-контента и плагинов имеют доступ на запись для группы , и они сделали … Двойной страх, он должен работать отлично!

    Однако нет … Ошибка при попытке загрузить плагин.

    После большого досады я просто зашел в конфигурацию apache и изменил APACHE_RUN_USER & GROUP на "развернуть"

    Проблема решена … Сорт. За исключением того, что apache работает как главный пользователь, я думаю, это ужасно.

    В любом случае, поэтому после внесения этого изменения загрузка плагина прошла успешно, и я увидел:

     drwxr-xr-x 8 deploy deploy 4096 Oct 22 21:28 wp-crm 

    Таким образом, у группы нет доступа для записи – я подумал, может быть, это намек на то, почему это было неудачно … Но тогда тот факт, что он пишет с помощью развертывания, означает, что это не совсем намек … Потому что это только из-за как установлен uumask для развертывания. Предполагаю …

    Итак … Я просто потерял, что такое решение …

    Должна ли моя группа wp-content быть www-данными?

    Или я пропустил что-то еще здесь?

  • Ubuntu 14.10 отключается от Wi-Fi после пробуждения от приостановки
  • Как пройти «Загрузка исходного Ramdisk» зависает после перехода с x86_64 на i686 cpu
  • Общие библиотеки и различные системы Linux
  • Как я могу эффективно очистить установленный вручную пакет?
  • Добавить вариант управления перегрузкой TCP в Linux Ubuntu
  • Как установить Nautilus в качестве файлового менеджера по умолчанию в элементарной ОС
  • 2 Solutions collect form web for “Какое правильное решение для веб-сервера пытается записать в каталог?”

    К сожалению, usermod -G заменяет группы пользователей. Вы хотели usermod -G -a .

    Простейшим решением для этого было бы ACL файловой системы. Я не уверен, что согласен с установкой (потому что каталог не является статичным, и он не использует какой-либо другой каталог для временных данных), но это другое дело.

    С ACL файловой системы вы можете предоставить пользователю www-data доступ к определенному каталогу, даже если обычные разрешения не позволяют его.

    Так, например,

     setfacl -R -m user:www-data:rwx wp-content/plugins setfacl -d -R -m user:www-data:rwx wp-content/plugins 

    Первый www-data файл для www-data читает + записывает + выполняет в wp-content/plugins и все в нем (рекурсивно). Вторая команда устанавливает разрешения по умолчанию, так что любые новые файлы и папки, созданные в wp-content/plugins будут иметь указанный ACL (и, таким образом, будут читать + писать + выполнять по www-data ).

    Linux и Unix - лучшая ОС в мире.