Как правильно организовать права и группы пользователей на вебсервере с несколькими людьми?
Доброго времени суток!
У меня такая задачка, которая раньше почему-то без проблем решалась
На сервере есть 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, таск падает.
Sanes, Спасибо. Да я умею пул настраивать, просто тип такая схема думал сойдет:
один пул - для перрелиза, со своими настройками
один пул - для всех пользователей с одинаковыми настройками
snchz, из твоего объяснения я понял что web в группе web, а user, eagle, ws в другой. я имел ввиду что скрипт должен запускаться от пользователя состоящего в одной группе с user, eagle, ws, либо он должен менять группу/владельца полученных файлов