Как правильно организовать права и группы пользователей на вебсервере с несколькими людьми?
У меня такая задачка, которая раньше почему-то без проблем решалась
На сервере есть 3 пользователя - user, eagle, ws
Пользователь/Группа от имени которой работает php - web
Каждый пользователь может деплоить в свой тестовый поддомен на сайте. deploy проходит так:
- создается новая папка
- Выполняется
git cloneрепозитория в эту папку - Symlink`ами подтягиваются shared директории.
- Выполняются пользовательские таски перед запуском
- На папку current, которая является root для nginx, ставиться symlink на новую папку.
Так вот, сама проблема:
Гит умеет ставить только 0644 права или 0755, группа не сможет писать, только сам юзер, а файлы имеют chown user:web и сhmod 755 - после деплоя.
Скрипт падает, при попытке записать в файл что-либо, так как php работает от web:web, а файлы user:web
Пробовал сделать пользовательский таск, который добавляет группе право писать в файлы, и вставить его в цепочку деплоя.
Но и тут закралась проблема:
- файлы которые создаются скриптом (sessions, cache, logs) - имеют
chown web:webи из под user я не могу сменить им chmod, таск падает.
Сейчас user, eagle, ws лежат в группе web