@danforth

Пользователи и группы Linux: как делать правильно?

Помогите навести порядок в голове, не могу понять как правильно и безопасно настроить VPS. Вопрос заключается в правах и группах, я хочу, чтобы мой сайт находился в папке /home/danforth/www/ (правильно ли я мыслю?)
Для этого я создаю нового пользователя и присваиваю ему пароль
sudo useradd danforth
sudo passwd danforth

Это создаст пользователя с одноименной группой danforth, и создаст домашний каталог /home/danforth.
Далее, мне необходимо настроить nginx чтобы он смотрел в этот каталог (тут все ясно, можно пропустить).
Далее, присваиваю права файлам и папкам, вот тут и появляется загвоздка: в большинстве случаев самый удачные права на сколько я понял (поправьте, если это не так):
  • 755 для файлов
  • 644 для папок

но, мой каталог /home/danforth/ и его владелец danforth:danforth. Получается, что мне нужно либо добавить danforth в группу www-data (безопасно ли это?), но тогда придется редактировать права для группы (775 и 664 соответственно) либо настраивать так, чтобы веб сервер работал от юзера danforth.

Собственно, структурированный вопрос: какие права должны быть на файлы и папки, и от каких пользователей должны работать следующие программы:
  • nginx
  • php-fpm
  • mysql/mariadb
  • redis


Реквестую также какую-то годную статью, которая как раз отвечает на мой вопрос. Спасибо!
  • Вопрос задан
  • 382 просмотра
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
"755 для файлов
644 для папок"
наоборот для папок (755 - rwxr-xr-x), Иначе никто не сможет зайти в папки, и для файлов 644 (rw-r--r--)

"nginx чтобы он смотрел в этот каталог"
Зачем? Если запускается не от вашего danforth, то не нужно это делать, пусть nginx смотрит в свой каталог. А вот юзера danforth можно добавить в www-data, чтобы вы могли туда заходить и писать, и да тогда нужно будет 775 и 664 соответственно.

Права не должны быть, права могут быьт разные, вы просто распишите кто и куда должен иметь доступ и назначьте. При установке, эти сервисы часто сами создают нужных пользователей, от имени которых запускаются. Добавление и изменение прав обычно идет через группы, а не через владельца.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
moropsk
@moropsk
как вариант.
https://debian.pro/2017
Ответ написан
Комментировать
CityCat4
@CityCat4
Внимание! Изменился адрес почты!

я хочу, чтобы мой сайт находился в папке /home/danforth/www/

Зачем, простите? Домашний каталог юзера danforth предназначен для файлов юзера danforth - в том числе для настроек различных систем. Некоторые файлы могут хранить весьма любопытную для посторонних информацию. Это все равно что на винде разместить файт в каталоге профиля пользователя.
Сайты, не имеющие отношения к юзеру danforth, лучше размещать вне его домашнего каталога, например в /var/www (как это обычно делается в линухе) или в /usr/local/www (как во FreeBSD).

mysql работает от юзера mysql, остальные не знаю - у меня апач :) работчющий - внезапно - от юзера apache :) Есть еще ruby, модуль passenger работает от юзера nobody
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
27 апр. 2024, в 13:22
600 руб./за проект
27 апр. 2024, в 12:46
60000 руб./за проект