Я хочу настроить репозиторий git (голое репозиторий), где только люди из группы «разработчиков» могут читать / писать из репозитория. Как я могу это сделать? (Я бы предпочел сделать это через http)
Я использую Mac OS X 10.6 Server
У вас есть несколько вариантов ограничения того, кто может писать в репозиторий git:
1) В конфигурации вашего веб-сервера вы можете ограничить доступ к репозиторию на основе членства в группе или идентификатора пользователя. Это будет конфигурация Apache, например, в настройке AuthGroupFile http://httpd.apache.org/docs/current/mod/mod_authz_groupfile.html#authgroupfile и http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html#authbasicprovider (но затем вам может потребоваться сопоставить / etc / group с этим форматом файла).
2) Проще, вы можете управлять разрешениями репозитория через файловую систему. В вашем каталоге .git вы можете chmod -r a-rw
и chmod -r g+srw
чтобы ограничить чтение и запись из каталога членами указанной группы unix (дайте мне знать, если вам здесь нужны более точные инструкции). git-init
имеет --shared=group
переключатель, который разрешит доступ нескольким пользователям на основе группы unix (см. http://kernel.org/pub/software/scm/git/docs/git-init.html)
3) проверьте Gitosis (http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way), который представляет собой простой «сервер» репозитория Git, который централизует аутентификацию и гарантирует, что вам не нужны отдельные пользователи Unix для каждого пользователя Git (и / или их группировка отдельно). Как и в случае №1, вы будете жертвовать простотой эксплуатации и сложностью настройки (потому что теперь вы можете управлять двумя списками групп).
Надеюсь, это поможет.
Вы можете настроить сервер Apache и WebDAV на сервере для аутентификации пользователей.
Я сделал это с помощью Subversion, но похоже, что для Git это работает аналогично.
http://www.icoretech.org/2009/11/hosting-git-repositories-through-webdav-on-snow-leopard-server/