我正在尝试设置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的文件在这个问题上相当模糊。
答案 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");