将用户添加到Gitolite

时间:2011-04-14 19:35:52

标签: git ssh gitolite

我正在尝试设置Gitolite,但我遇到了一个奇怪的问题:

当我为新用户添加新的公钥文件(比如raphaelcruzeiro.pub)时,giolite在推送时向我发出以下警告:

remote: 
remote:         ***** WARNING *****
remote:         the following users (pubkey files in parens) do not appear in the config file:
remote: raphaelcruzeiro(raphaelcruzeiro.pub)

当我尝试使用此用户克隆存储库时,我获得了拒绝权限:

Cloning into gitolite-admin...
R access for gitolite-admin DENIED to raphaelcruzeiro
fatal: The remote end hung up unexpectedly

我在这里遗漏了什么吗?在何处以及如何将用户添加到配置文件中?

不幸的是,Gitolite的文件在这个问题上相当模糊。

2 个答案:

答案 0 :(得分:24)

以下是将用户添加到gitolite的工作流程:

将用户公钥添加到地图keys <username>.pub

编辑您的gitolite配置文件(gitolite.conf),此文件位于地图conf中。当你打开它时,一切都会清晰。

示例:

repo  someproject

  RW+ = darhuuk

  RW  = raphaelcruzeiro

  R   = santaclaus

提交新密钥和修改后的配置文件。然后将它推送到你的gitolite服务器。

应该这样做!

[编辑] BTW,这是解释我上面写的内容的gitolite段落: http://gitolite.com/gitolite/conf.html

答案 1 :(得分:1)

请注意,最近的gitolite v3.5.2-10-g437b497介绍了(2013年9月,提交59c817d0):

ukm, for "user key management"

  

用户密钥管理允许某些用户添加和删除密钥。

它引入了一个授权级别,当不仅仅是gitolite admin用户可以添加新的ssh公钥时,其他用户现在也可以这样做。

您可以在“contrib/t/ukm.t”中看到它:

您需要启用该功能:

# enable user key management in a simple form.
# Guest key managers can add keyids looking like email addresses, but
# cannot add emails containing example.com or hemmecke.org.
system("sed -i \"s/.*ENABLE =>.*/'UKM_CONFIG'=>{'FORBIDDEN_GUEST_PATTERN'=>'example.com|hemmecke.org'}, ENABLE => ['ukm',/\" $h/.gitolite.rc");