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

У меня есть серверная среда Ubuntu 16.04 Nginx с несколькими (WordPress) веб-приложениями в / var / www / html .

Мой пользователь Nginx - www-data .

Каждый раз, когда я добавляю веб-приложение, я выполняю:

chown www-data:www-data /var/www/html/* -R
find /var/www/html/* -type d -exec chmod 755 {} \;
find /var/www/html/* -type f -exec chmod 644 {} \;

Кажется, что какое-то программное обеспечение (возможно, Nginx?) Изменяет права доступа, поэтому по крайней мере некоторые каталоги (а может быть, и их файлы) становятся недоступными для записи .

У меня вопрос: почему и как какое-либо программное обеспечение может изменять мои разрешения и как лучше всего с этим справиться?

Я мог бы добавить ежедневную задачу crontask, чтобы вернуть вышеупомянутые изменения, но некоторые могут не посчитать это "аккуратным" "решение, и лучше всего изменить любое подозрительное программное обеспечение, чтобы оно больше не" осмеливалось "изменять эти разрешения.

0
задан 2 January 2018 в 20:12
2 ответа

Проблема была вызвана другой командой cron - командой WP-CLI для обновления ядра WordPress. Есть также похожие команды для обновления плагинов и тем, которые могли вызвать аналогичные проблемы.

Вот 3 команды (ядро, плагины, темы) + 3 команды, которые запускаются сразу после них, чтобы исправить отклонения разрешений, вызванные обновлениями :

for dir in /var/www/html/*/; do cd "$dir" && /usr/local/bin/wp plugin update --all --allow-root; done
for dir in /var/www/html/*/; do cd "$dir" && /usr/local/bin/wp core update --allow-root; done
for dir in /var/www/html/*/; do cd "$dir" && /usr/local/bin/wp theme update --all --allow-root; done
chown www-data:www-data /var/www/html/* -R
find /var/www/html/* -type d -exec chmod 755 {} \;
find /var/www/html/* -type f -exec chmod 644 {} \;
0
ответ дан 5 December 2019 в 06:56

У меня была аналогичная проблема с Moodle, однако в моем случае права собственности на файлы также менялись на root: root . Измененные файлы и каталоги были файлами кеша,и вызывал проблемы при обновлении версий. Я наконец понял, что на самом деле это была ошибка в Moodle, которая меняла права доступа, однако проблема владения была связана с тем, что мой процесс httpd работал как root , а не как apache пользователь. Здесь можно найти инструкции для httpd и здесь для nginx .

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

0
ответ дан 5 December 2019 в 06:56

Теги

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