MegaMufa
@MegaMufa

Как раздавать права на директорию для автоматического деплоя из git?

Добрый день.

Пытаюсь настроить автоматический деплой проекта из гит репозитория. На репозиторий вешается хук, который при пуше делает запрос на мой сервер. Тот при получении запроса делает пулл и запускает сценарий миграций. Встал вопрос с правами на директории.

Владельцем диреткории с проектом является пользователь ww-data. По логике вещей работой с гитом должен заниматься другой пользователь. Я создал пользователя и добавил его в группу ww-data. Установил на директорию с проектом права 770. Все работает. Но какой смысл заводить отдельного пользователя для деплоя, если у него одинаковые права с www-data?

Подскажите, правильно ли я делаю, или права надо по другому раздать?
  • Вопрос задан
  • 2906 просмотров
Пригласить эксперта
Ответы на вопрос 2
dizballanze
@dizballanze
Software developer at Yandex
Зачем для работы с гитом отдельного пользователя заводить? Прямо от www-data можно.
Ответ написан
Комментировать
@kaasius
1. Файлы в рабочем каталоге сайта не должны принадлежать www-data, кроме тех, которые записывает сам сервер. Иначе вы получите дополнительную уязвимость.
2. Лучше не держать в doc-root .git - в какой-то момент вы забудете закрыть доступ к этой папочке, и… весь ваш код окажется у хакеров.

Поэтому на сервере с центральным репозиторием (куда вы делаете пуш) делаете еще один репозиторий, откуда вы по хуку делаете пулл. А на боевой сервер отправляете все с помощью rsync или например dklab realsync (который использует тот же rsync, но в автоматическом режиме следит за изменениями в папке и сразу же их синкает на второй сервер).

Ну и владельца лучше поставить какого-нибудь отличного от www-data
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы