@iliyaisd

Как правильно дать права на запись двум пользователям в Linux?

Есть проект на Symfony 2, который деплоится с помощью Jenkins (работает от пользователя jenkins). Проект крутится под nginx (работает от пользователя www-data). При каждом деплое необходимо чистить кеш проекта с помощью команды Symfony:
php app/console cache:clear --env=prod


Для этого пользователь jenkins должен иметь доступ на запись к директориям проекта app/cache и app/logs.
Кроме того, при деплойменте jenkins копирует полностью папку app, в которой есть предсозданная папка logs, лежащая под гитом, соответственно он перезаписывает её и становится владельцем. Билд падает, если jenkins не может записать эти папки.

Nginx тоже должен иметь полные права на эти две папки, Symfony падает.

Вопрос, как правильно решить эту проблему, чтобы оба пользователя имели полный доступ к обеим папкам?
Спасибо.
  • Вопрос задан
  • 381 просмотр
Решения вопроса 2
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Метод адын:
создать группу mygroup, дать группе права на запись, добавить в нее всех юзеров, которым нужно право

Метод дфа:
добавить права на запись каждому юзеру через setfacl. Метод обычно используется когда первый метод неприменим (поскольку в нем можно использовать ровно одну группу)
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Включить обоих пользователей в группу, имеющую нужные права на папки. Скорее всего, nginx уже находится в группе www-data, остаётся добавить в неё пользователя jenkins и убедиться, что у группы есть нужные права.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы