Приобретение пользователей в Gitolite
Я пытаюсь настроить Gitolite, но у меня запуталась странная проблема:
Когда я добавляю новый файл открытого ключа для нового пользователя (скажем, raphaelcruzeiro.pub), гейолит посылает мне следующее предупреждение при нажатии:
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 довольно расплывчата по этим вопросам.
Спасибо
Ответы
Ответ 1
Здесь рабочий процесс добавления пользователей в гитолит:
Добавить открытый ключ пользователя к карте keys
как <username>.pub
Измените конфигурационный файл gitolite (gitolite.conf
), этот файл находится на карте conf
. Когда вы откроете его, все будет ясно.
Пример:
repo someproject
RW+ = darhuuk
RW = raphaelcruzeiro
R = santaclaus
Зафиксируйте новый ключ и измененный файл конфигурации. Затем нажмите на свой гитолит сервер.
Это должно сделать это!
[Edit] Кстати, вот пункт гитолита, который объясняет, что я написал выше:
http://gitolite.com/gitolite/conf.html.
Ответ 2
Обратите внимание, что недавний гитолит v3.5.2-10-g437b497 вводит (сентябрь 2013 г., commit 59c817d0):
ukm, для "управления ключами пользователей" .
Управление ключевыми словами позволяет некоторым пользователям добавлять и удалять ключи.
Он вводит уровень делегирования, когда не только пользователь admin 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");