我想设置一个git仓库(bare repo),其中只有“开发”组的人可以从仓库读取/写入。 我怎样才能做到这一点? (我宁愿这样做通过HTTP)
我正在运行Mac OS X 10.6服务器
您可以在服务器上设置Apache服务器和WebDAV来validation用户身份。
我已经做了颠覆,但它看起来像Git的工作类似。
http://www.icoretech.org/2009/11/hosting-git-repositories-through-webdav-on-snow-leopard-server/
你有几个选项来限制谁可以写入到一个git仓库:
1)在您的Web服务器configuration中,您可以根据组成员身份或用户标识限制对存储库的访问。 这将是一个Apacheconfiguration,例如在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)更简单,您可以通过文件系统pipe理存储库权限。 在你的.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仓库“服务器”,集中authentication并确保每个Git用户不需要单独的Unix用户(和/或将他们单独分组)。 和#1一样,为了安装的复杂性,你将会牺牲操作简单性(因为你现在可能正在pipe理两个组列表)。
希望有所帮助。