Разрешения для статических файлов веб-сайта

Разрешения для статических файлов веб-сайта

Вопрос касается передового опыта, а не конкретной проблемы.

Каковы правильные права собственности и разрешения для статических файлов и каталогов веб-сайта? Я собираюсь использовать root:<server-group>разрешения 640 для файлов и 750 для каталогов. Таким образом, сервер может читать все из-за групповых разрешений, но обычный пользователь не может изменять файлы случайно или намеренно без явного использования sudo.

Или, может быть, есть более удачная практика, о которой я не знаю? Мой подход выглядит немного переусложненным.

решение1

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

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

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

Конечно, имеет смысл, чтобы точки монтирования или программные пакеты принадлежали пользователю root, поэтому для изменения системы требуются привилегии. Если, например, содержимое веб-сайта находится в /srv/www/example.net/, /srv/ и /srv/www/ могут принадлежать пользователю root, а веб-сайты, такие как /srv/www/example.net/, принадлежать непривилегированным пользователям.

Связанный контент