Слетают права на сервере

229
07 августа 2021, 01:00
Виртуальный Сервер: 5.7.26-0 ubuntu 0.16.04.1.
Apache/2.4.18.
PHP: 7.0.33-0 ubuntu0.16.04.5

Более месяца работал стабильно. Буквально на днях начала появляться проблема: у сайта (cmf modx) отнимаются права доступа, и ни один плагин не работает, соответственно, любая информация на сайте перестает отображаться (как понимаю, доступ для чтения php файлов движка пропадает).

После

chown www-data:www-data -R /var/www/sites/

работа восстанавливается. (sites - директория, где лежит папка с сайтом непосредственно).

Слабо разбираюсь в серверном окружении, поэтому не могу понять в чем дело. ТП сервера поверхностно проверила логи, сообщили, что никаких ошибок нет.

UPD: stat на некоторые файлы

Answer 1

Одним решением будет добавить пользователя, с которым вы работаете с файлами, в группу www-data:

gpasswd -a www-data username

Таким образом Apache, выполняющийся с правами пользователя www-data, будет иметь доступ к тем же файлам, к которым имеет доступ тот самый пользователь, во владения к которому переходят файлы.

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

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

Более подробно об этой схеме на примере nginx читайте здесь.

READ ALSO
Отправка формы обратной связи с AJAX/JQUERY

Отправка формы обратной связи с AJAX/JQUERY

У меня есть рабочая форма обратной связи, когда я пишу в форме action="popphp", и нажимаю на сабмит, она перенаправляется по адресу site

174
Как получить json из post-запроса

Как получить json из post-запроса

Есть 2 файлаПервый обращается ко второму методом post и передает json

179
Выбор номера телефона из входящих вызовов

Выбор номера телефона из входящих вызовов

Есть метод с выбором контакта из списка контактов:

318
Динамическое создание фрагментов

Динамическое создание фрагментов

У меня появилась задача такого плана: Нужно создавать фрагменты в соответствие с количеством элементов, пришедших с сервераСкажем, я получил...

111