открытый доступ только для чтения без ключа на gitolite

4688
Chris

Мне было интересно, можно ли настроить gitolite, чтобы кто-нибудь клонировал репозиторий, не исполняя песни и танца с открытым ключом.

Очевидно, я не хочу, чтобы люди могли менять репо без ключа в первую очередь.

5

1 ответ на вопрос

4
grawity

Существует два варианта публичного доступа к Git:

  1. Протокол Git, обрабатываемый демоном git :

    git daemon --base-path /srv/git 

    Если вы запустите git daemon с помощью --base-path /srv/gitexample.com, то, если вы позже попытаетесь получить git://example.com/hello.git, git daemon будет интерпретировать путь как /srv/git/hello.git.

    Для нескольких "vhosts", --interpolated-path /srv/git/%H/%Dбудет отображаться на то же самое /srv/git/example.com/hello.git.

    --user-pathВариант дает «UserDir» -like перевод git://example.com/~user/hello.gitна /home/user/hello.git.

    Вы можете запустить git daemon из xinetd или в качестве фонового демона, используя --detachопцию ( sudo -u nobody git daemon --detach <other options>).

  2. Умный HTTP, для которого требуется веб-сервер: инструкция по Pro Git

    Это немного сложнее в настройке, но легче пересекает прокси и брандмауэры (что может быть преимуществом в определенных средах).

    Можно также протолкнуть HTTP - убедитесь, что вы случайно не включили это.

и это не помешает тому факту, что репо уже управляется gitolite? Что произойдет, если кто-то клонирует с общедоступным доступом, а другой человек одновременно нажимает на ssh? Chris 12 лет назад 0
@Chris: в Git такие операции являются атомарными, как в большинстве современных VCS. Кроме того, Gitolite не имеет дело с внутренней структурой, он в основном управляет доступом пользователей. Очень распространено использование одного и того же хранилища для Gitproto, SSH (иногда Gitolite, чаще всего user @ host: path) и даже HTTP. grawity 12 лет назад 0
Также вы можете использовать [специального пользователя `daemon` в конфигурации Gitolite] (http://sitaramc.github.com/gitolite/doc/2-admin.html#gwd) для автоматического создания специального` git-daemon- файл export-ok`, который ищет `git daemon`, прежде чем разрешить доступ через URL` git: // `. Chris Johnsen 12 лет назад 3
Возможный третий вариант: как насчет создания личного ключа только для чтения и размещения его для загрузки на веб-сайте, а затем установки открытого ключа в каталоге ключей Gitolite? -Будет ли это проблемой безопасности, или Gitolite сможет справиться с этим? 9 лет назад 0

Похожие вопросы