Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I want to setup a git repository (bare repo) where only people from the "development" group can read/write from the repository. How can I do this? (I would prefer to do this over http)

I am running Mac OS X 10.6 Server

share|improve this question

2 Answers 2

up vote 1 down vote accepted

You can set up an Apache server and WebDAV on the server to authenticate your users.

I've done this with subversion, but it looks like it works similarly for Git.

http://www.icoretech.org/2009/11/hosting-git-repositories-through-webdav-on-snow-leopard-server/

share|improve this answer

You have several options for restricting who can write to a git repository:

1) In your webserver configuration, you could restrict access to the repository based upon group membership or user ID. This would be an Apache configuration, for example in the AuthGroupFile setting http://httpd.apache.org/docs/current/mod/mod_authz_groupfile.html#authgroupfile and http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html#authbasicprovider (but you may then need to map from /etc/group to this file format).

2) Simpler, you could manage the repository permissions through the filesystem. In your .git directory, you can chmod -r a-rw and chmod -r g+srw to restrict reading and writing from the directory to members in the specified unix group (let me know if you need more precise instructions here). git-init has a --shared=group switch that will allow access to multiple users based on unix group (cf. http://kernel.org/pub/software/scm/git/docs/git-init.html)

3) check out Gitosis (http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way) which is a straightforward Git repository "server" that centralizes authentication and ensures you don't need separate Unix users for each Git user (and/or to group them separately). As with #1, you will trade off operational simplicity for setup complexity (because you may now be managing two group lists).

Hope that helps.

share|improve this answer
    
Gitosis seems to be unmaintained these days. Gitolite provides pretty much all of the same functionality (and more) and is actively maintained. –  Chris Johnsen Mar 10 '11 at 8:08

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.