Удобные веб-полномочия каталога WordPress?

Я настраиваю веб-сервер для WordPress.

WordPress требует, чтобы это был материал, который будет принадлежать www пользователю, или это имеет проблемы при установке плагинов, и темы (просит сервер у учетных данных FTP, это глупо, я знаю).

Это не было бы проблемой, но я хочу дать одному пользователю SSH пустой каталог WWW, таким образом, они могли загрузить/распаковать/установить WordPress сами (руки прочь от метода).

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

Каков был бы самый удобный и безопасный способ достигнуть обеих целей, позволив пользователю, чтобы чувствовать себя подобно дома и иметь полностью рабочую установку WordPress?

Кажется, что setfacl мог быть достойным решением, чтобы заставить весь новый материал в соответствии с одним каталогом наследовать полномочия, которые я установил.

Кто-либо мог предложить подсказку или предложение о том, как достигнуть того, что я пытаюсь или даже вести меня в другом направлении?

Я использую Nginx с PHP-FPM.

Спасибо!

0
задан 21 July 2015 в 22:36
3 ответа

Я нашел решение. Это я идиот.

Я скопировал конфигурацию пула php-fpm с другого хоста и забыл определить права пользователя: пользователя, чтобы процесс php выполнялся от имени этого пользователя.

Изменение этого параметра и добавление пользователя nginx (www) в группу пользователей устранило проблему.

0
ответ дан 5 December 2019 в 12:37

Добавить / обновить константу FS_METHOD для "прямого "в вашем wp-config.php, и вы сможете выполнить обновление без предоставления каких-либо сведений о FTP.

define('FS_METHOD', 'direct');

FS_METHOD принудительно использует метод файловой системы. Это должно быть только «direct», «ssh2», «ftpext» или «ftpsockets». Как правило, вам следует изменять это только при возникновении проблем с обновлением. Если вы меняете его, и это не помогает, поменяйте обратно / удалите. В большинстве случаев установка ftpsockets будет работать, если автоматически выбранный метод не работает.

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

(Дополнительное предпочтение) "ssh2" - принудительное использование расширения SSH PHP, если оно установлено (3-е предпочтение) «ftpext» означает принудительное использование расширения FTP PHP для доступа к FTP и, наконец.

(4-е предпочтение) «ftpsockets» использует класс сокетов PHP для доступа по FTP.

Источник: ] https://codex.wordpress.org/Editing_wp-config.php

0
ответ дан 5 December 2019 в 12:37

Другой вариант - создать сценарий, который изменяет владельца файлов, которые они загружают в определенном каталоге. Вы можете настроить файл sudoers, чтобы они могли запускать только этот скрипт от имени пользователя root без необходимости ввода пароля.

Это может быть брешь в безопасности, если все сделано неправильно, но если вы все сделаете правильно, в этом нет ничего страшного. Вот некоторые вещи, в которых необходимо убедиться:

  1. Никто, кроме root, не может писать в скрипт или в каталог, содержащий скрипт. Я бы порекомендовал разместить его в / root и для хорошей меры установить для него неизменяемый атрибут ( chattr + i ).
  2. Убедитесь, что он очень узко закодирован, чтобы гарантировать, что он будет делать только то, что вы намереваетесь, и не может быть нарушен.
  3. В идеале не позволяйте никому иметь доступ для чтения, чтобы уменьшить вероятность ошибки, сделанной в # 2.
0
ответ дан 5 December 2019 в 12:37

Теги

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