16

我正在尝试设置 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 的文档在这个问题上相当模糊。

4

2 回答 2

25

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

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

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

例子:

repo  someproject

  RW+ = darhuuk

  RW  = raphaelcruzeiro

  R   = santaclaus

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

应该这样做!

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

于 2011-04-14T20:51:46.920 回答
1

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

ukm,用于“用户密钥管理”

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

它引入了委托级别,不仅 gitolite 管理员用户可以添加新的 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");
于 2013-09-09T07:21:31.283 回答