Администрирование git-репо без прав root - PullRequest
1 голос
/ 26 ноября 2010

Я хочу сделать пустое git-repo в своем домашнем каталоге доступным для моих коллег, работающих в той же файловой системе, что позволит им git push войти в нее. Однако я не хочу, чтобы они могли случайно изменить репо с помощью чего-либо, кроме git, поэтому я не могу просто chmod g+w сделать это.

Возможно ли это без прав root? Единственное, о чем я мог думать, это установить бит SUID на git, чтобы git мог получить доступ к репо, как я, но я не знаю, действительно ли это хорошая идея ...

Ответы [ 3 ]

2 голосов
/ 26 ноября 2010

Вы можете использовать что-то вроде gitolite , которое доставляет вам немало хлопот.

Если вы хотите использовать обычный git, вы можете сделать это:

Для этого все ваши сотрудники и вы должны быть в одной группе (например, разработчики). Вы можете исправить все сразу с помощью:

newgrp developers
git init --bare --shared=group repo

но конечно вы получите пустой репозиторий. Вы можете перенести свою текущую работу туда и продолжить оттуда.

Если вы не используете путь инициализации git, вам нужно будет самостоятельно установить права доступа пользователя и установить переменную core.sharedrepository=1 config.

1 голос
/ 26 ноября 2010

Если вы представляете репо как file:///, то будут применяться разрешения на доступ к файлам.Насколько я знаю, сам git не имеет дело с "разрешениями".Механизм, который вы используете для публикации вашего репо, заботится об этом аспекте (ключи для ssh, .htacess или что-то для веб).


Это не проверено, но я думаю, что вы должны иметь возможность установить демона, используя git daemon, который ваши пользователи могут использовать для извлечения / извлечения из вашего репо.Для этого потребуется доступ на чтение / запись к вашему хранилищу, но это нормально, поскольку он работает как вы.Ваши пользователи смогут получить доступ к вашему репо только с помощью этого.За подробностями обращайтесь к справочной странице (git help daemon) и this .Однако моя первоначальная точка зрения остается в силе.Это один из способов , а не с использованием протокола file:/// для предоставления доступа к вашему хранилищу, для которого не требуются привилегии root.

0 голосов
/ 26 ноября 2010

Лучший способ - это использовать gitosis, или, возможно, просто сделать что-то простое, например, создать нового пользователя git и позволить ssh-ключам доверенных пользователей войти в эту учетную запись.

Последнее не мешает людямот доступа к файлам без использования git, если это важно, потратьте время на правильную настройку gitosis.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...