@xbox

Как ограничить доступ заказчика к Git на production сервере, при условии, что заказчик имеет доступ по ftp?

Добрый день.

Есть VPS сервер c ОС Debian с несколькими сайтами. У меня root доступ.
На этот сервер для заказчика в одну из директорий выгружаю его сайт.
У заказчика есть доступ к директории с его сайтом. Заказчик работает от пользователя user, Владелец файлов его проекта - также пользователь user.

Я в основном использую GIT для выгрузки файлов на сервер. Также в некоторых случаях я комичу в GIT файлы, которые я или заказчик изменили прямо на продакшен сервере. GIT на различных машинах (разработчика и продакшен) синхронизирую через общий репозитарий.

Заказчик имеет полное право видеть исходные файлы его сайта. Но я не хочу, чтобы заказчик имел доступ к GIT, чтобы он мог видеть историю изменений или мог скопировать репозитарий.


Каким образом лучше ограничить возможность заказчика работать с git и возможность скопировать репозитарий GIT, при условии, что мне GIT нужен для работы?

Пока я для себя такое временное решение нашел. После работы с GIT ставлю владельцем папки c GIT пользователя root с правами на папку 0700. Таким образом заказчик, залогинившись по ftp как пользователь user не может получить доступ к папке. Когда мне нужно еще раз воспользоваться GIT, я вручную возвращаю владельца и права папки и работаю с ним. После окончания работы опять меняю владельца папки. Для автоматизации открытия и закрытия прав на папку GIT думаю написать пару скриптов.

Хоть это и решение вопрос, но у него есть недостатки. Приходится сначала загружаться от имени root, чтобы поменять права на папку. Потом логиниться от имени user, чтобы работать c GIT. Второй недостаток - на какое-то время (полчаса-час), директория с GIT может остаться доступной пользователю user и заказчик ее может увести.

Теоретически можно было бы поставить сразу права на папку с GIT только пользователю root и работать с GIT только от рута. Но в этом случае при чекауте GIT новые файлы проекта будут создаваться с владельцем root и эти файлы будут недоступны для процессов веб-сервера. Умеет GIT при работе от одного пользователя, менять владельца и права файлов?

В общем хотелось бы получить совет, есть ли в данной какое-нибудь красивое решение?
  • Вопрос задан
  • 550 просмотров
Пригласить эксперта
Ответы на вопрос 2
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
Например не заниматься садомазохизмом и держать репозиторий на гитхабе или битбакете, деплоить всё культурно а заодно и с доступом заказчика к репе не будет проблем.
Ответ написан
@FoxInSox
Уберите git c production сервера.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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