出于某种原因,我gitolite没有拿出一个样本配置文件,我似乎无法找到一个在任何地方,我确定这个问题是在该文件回答如果有人能找到我,请!
不管怎么说,在gitolite配置文件的格式是很简单的,这里是从我剪断
gitolite conf
# please see doc/gitolite.conf.mkd for details on syntax and features
@nmscDevs = dev1@compaid.com dev2@compaid.com dev3@compaid.com
@buildMgr = william_slepecki@compaid.com dev4@compaid.com
repo gitolite-admin
RW+ = gitadmin william_slepecki@compaid.com
repo grindstone
RW+ = gitadmin
RW+ prod$ = @buildMgr
- prod$ = @nmscDevs
RW = @nmscDevs
我在我的keydir文件夹中的几个公共密钥:
keydir/
gitadmin.pub
william_slepecki@compaid.com.pub
我的问题是gitolite似乎忽略设置为单个用户的权限。 没有任何工程上的存储库(读,写等),除非我给gitadmin用户完全控制。 然后,似乎每个人都使用gitadmin用户的权限。 我克隆这样的回购
git clone git@server:grindstone.git
但是当我试图用这样的克隆
git clone 'dev1@compaid.com'@server:grindstone.git
林提示输入密码。 确实每个用户需要在服务器上拥有一个帐户,以便他们可以ssh到它?
究竟是如何做到的权限,gitolite工作? 我是铅理解git的用户需要一个帐户ssh到服务器上,那么一旦gitolite接管它使用沿着通过与git的请求,以确定权限的电子邮件,我错了吗? 我失去了什么?
顺便说一句,这是我的.ssh /配置
host server
user git
hostname server
identityfile ~/.ssh/gitadmin
host server
user william_slepecki@compaid.com
hostname server
identityfile ~/.ssh/id_rsa
更新:我已经升级到gitolite的最新版本,当我尝试做一个克隆我得到这个
$ git clone git@server:testing.git
Cloning into 'testing'...
FATAL: R any testing gitadmin DENIED by fallthru
(or you mis-spelled the reponame)
fatal: The remote end hung up unexpectedly
我的配置文件现在看起来是这样的:
repo testing
RW+ = william_slepecki
我的.ssh配置不变。 另外,我有这个在我的日志
2012-05-08.13:01:13 19027 ssh ARGV=gitadmin SOC=git-upload-pack 'testing.git' FROM=10.99.5.146
2012-05-08.13:01:13 19027 access(testing, gitadmin, R, 'any'),-> R any testing gitadmin DENIED by fallthru
2012-05-08.13:01:13 19027 trigger,Writable,access_1,ACCESS_1,testing,gitadmin,R,any,R any testing gitadmin DENIED by fallthru
这里是我的全球混帐配置的顶部SNIP
[user]
name = Willie Slepecki
email = william_slepecki@compaid.com
为什么在世界上是这仍然坚持认为gitadmin是回购,为什么不使用william_slepecki? 其中究竟这让名称中使用?