Возможно ли создание разных пользователей для разных сайтов nginxТоесть в случае взлома 1 сайта чтоб пользователь не имел доступа к остальным файлам других сайтов.
Еще обясните почему cat /etc/passwd нет пользователя www-data?Пробовал по инструкции (не получилось) ну и тут группа общая www-data что не правильно.
Проверьте текущие группы для каждого пользователя:groups www-data
groups siteuserНи один из них не должен иметь групп, общих с другим.
2. Назначьте файлы siteuser с доступом только для владельцаТеперь настройте права для папки сайта, чтобы только siteuser мог получить к ней доступ:
sudo chown -R siteuser:siteuser /var/www/site.ru
sudo find /var/www/site.ru -type d -exec chmod 700 {} \;
sudo find /var/www/site.ru -type f -exec chmod 600 {} \;Здесь:
700 для директорий — только владелец siteuser может читать, писать и выполнять.
600 для файлов — только владелец siteuser может читать и писать.Теперь www-data не сможет видеть файлы, так как нет разрешений на доступ.
3. Настройте PHP-FPM для работы под siteuserДля изоляции сайта, работая под siteuser, настройте PHP-FPM для обработки запросов от этого пользователя. Это позволяет Nginx отправлять запросы через PHP-FPM, не получая прямой доступ к файлам.
Настройка PHP-FPM:Создайте пул для siteuser:
В файле /etc/php/7.4/fpm/pool.d/siteuser.conf (замените 7.4 на версию PHP) добавьте следующее:
[siteuser]
user = siteuser
group = siteuser
listen = /run/php/php7.4-fpm-siteuser.sock
listen.owner = siteuser
listen.group = www-data
listen.mode = 0660Это позволяет PHP-FPM выполнять скрипты от имени siteuser, а не www-data.
Настройте виртуальный хост в Nginx для использования этого сокета:
Откройте конфигурацию виртуального хоста сайта в Nginx и укажите новый сокет PHP-FPM:
server {
server_name site.ru;
root /var/www/site.ru;location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm-siteuser.sock;
}
}Перезапустите службы:
sudo systemctl restart php7.4-fpm
sudo systemctl restart nginx
О! мамким одмин решил свой хостинг замутить, но походу в правилах бледжека не разобрался :)> Возможно ли создание разных пользователей для разных сайтов nginx
да
> Еще обясните почему cat /etc/passwd нет пользователя www-data?ээээээ может потомучта это, внезапно, ГРУППА?
> Ни один из них не должен иметь групп, общих с другим.Кто кому должен?
ПыСы: для понимания хауту нужна база.
ПыСы2: я не первый раз вижу как ты не понимая базы пытаешься что-то ковырять и у меня один вопрос - накой?
При чем, сцук, прям базы-базы самой не понимаешь.
>[оверквотинг удален]
>> Возможно ли создание разных пользователей для разных сайтов nginx
> да
>> Еще обясните почему cat /etc/passwd нет пользователя www-data?
> ээээээ может потомучта это, внезапно, ГРУППА?
>> Ни один из них не должен иметь групп, общих с другим.
> Кто кому должен?
> ПыСы: для понимания хауту нужна база.
> ПыСы2: я не первый раз вижу как ты не понимая базы пытаешься
> что-то ковырять и у меня один вопрос - накой?
> При чем, сцук, прям базы-базы самой не понимаешь.чтоб тебя ***** написанием низкоинтелектуальных пустых постов занять.
uid=35(www-data) gid=35(www-data) groups=35(www-data)
> чтоб тебя ***** написанием низкоинтелектуальных пустых постов занять.
> uid=35(www-data) gid=35(www-data) groups=35(www-data)ну пока что ты флудишь постами с топтанием по нубским граблям ... странный способ, и не особо интеллектуальный ...
>> чтоб тебя ***** написанием низкоинтелектуальных пустых постов занять.
>> uid=35(www-data) gid=35(www-data) groups=35(www-data)
> ну пока что ты флудишь постами с топтанием по нубским граблям ...
> странный способ, и не особо интеллектуальный ...Ну так ответил бы на нубский вопрос, а не изливался мыслию по древу.)))
> Возможно ли создание разных пользователей для разных сайтов nginxВполне годная статья. Спасибо тебе, пиши ещё.
проще заверни сайты в docker-контейнеры, сейчас на голую ОС практически не ставят ничего