В целях безопасности создал нового пользователя (usersite) для работы по ssh. От его имени создаю папки в домашнем каталоге этот пользователь является владельцем всех файлов.
Первая проблема которая возникла php-fpm работает от имени (www-data) и когда мои скрипты создали уменьшенные картинки, они уже были от имени www-data, из-за этого я их удалить не могу из ssh от пользователя usersite (права стоят 755 на папки и 644 на файлы и менять эти права не хочу). Эту проблему решил выставлением в конфиге в php-fpm
user = usersite
group = usersite
listen.owner = www-data
listen.group = www-data
После этого вроде всё хорошо работает, но возникли проблемы с логами и сессиями.
php_admin_value[error_log] = /var/log/fpm-php.usersite.log
php_admin_value[session.save_path] = /var/lib/php/sessions/usersite
После этого действия я подвис, возникли проблемы с записью сессий и логов, что делать с файлами лога и сессии?
1) создать папку usersite в логах и сессии и сделать его владельцем?
2) судя по папке log в ней все файлы архивируются через какое-то время, как будет происходить это в моём случае? (архивирование я нигде не прописывал и кто это вообще делает)
3) что будет происходить в папке сессий, они там будут автоматом удаляться?
4) Что кроме логов и сессий нужно настроить, когда nginx один пользователь а php-fpm другой?
1) Для корректной работы демона php-fpm либо делайте владельцем всех рабочих файлов / каталогов пользователя usersite, либо выставляйте нужные права. Есть вариант использования access list на уровне fs (утилиты getfacl / setfacl)
2) Архивированием занимается logrotate. Конфиги ищите в /etc/logrotate.d/ или /etc/logrotate.conf
3) Кажется у php есть что то вроде сборщика мусора для чистки сессий
4) Тут лучше глянуть в конфиг на предмет названий файлов / путей.
либо поставь пользователю usersite группу www-data, файлам выдай права 775 (читать писать владельцу и группе)
либо когда надо поработать с файлами, сделай sudo su www-data и ковыряйся с файлами
2) Логи ротируются другим сервисом, у которого рутовые права, он сможет.
3) Файлы сессий никогда сами не удаляются. Удаляй по крону. Крон от пользователя www-data или root
4) Nginx ещё пользуется кэшированием при проксировании. Есть папки /var/lib/nginx/*** (путь зависит от версии ОС) - обычно nginx может туда писать, но если ты ему пользователя поменяешь, то и на эти папки права надо поменять
Доступ даю для другого человека, поэтому не хочется давать больше прав чем положено. На сайте несколько сайтов и только один нужно разграничить. Для меня лучше один раз настроить под человека, чем постоянно что-то прописывать для него.
Можно поинтересоваться, а где настроить, чтобы автоматом php-fpm создавал папки 775, сейчас автоматом создаются 755.
> 3) Файлы сессий никогда сами не удаляются.
Не правда. Все удаляется, если настроить. Есть такая замечательная штука как gc, garbage collection. Вот тут можно почитать https://www.php.net/manual/ru/session.configuratio...