Как правильно организовать права и группы пользователей на вебсервере с несколькими людьми?

У меня такая задачка, которая раньше почему-то без проблем решалась

На сервере есть 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


Ответы (0 шт):