öffentlicher Nur-Lese-Zugriff ohne Schlüssel auf Gitolit

4730
Chris

Ich fragte mich, ob es möglich war, Gitolite so zu konfigurieren, dass jeder ein Repository klonen kann, ohne den gesamten öffentlichen Schlüssellied und den gesamten Tanz ausführen zu müssen.

Natürlich möchte ich nicht, dass die Leute das Repo ohne den Schlüssel ändern können.

5

1 Antwort auf die Frage

4
grawity

Es gibt zwei Optionen für den öffentlichen Git-Zugriff:

  1. Git-Protokoll, das vom Git-Daemon gehandhabt wird :

    git daemon --base-path /srv/git 

    Wenn Sie git daemon mit --base-path /srv/gitexample.com ausführen git://example.com/hello.git, wird der Pfad von git daemon als interpretiert, wenn Sie später versuchen zu ziehen /srv/git/hello.git.

    Für mehrere "vhosts" --interpolated-path /srv/git/%H/%Dwürde das gleiche zu /srv/git/example.com/hello.git.

    Die --user-pathOption gibt eine "userdir" -ähnliche Übersetzung von git://example.com/~user/hello.gitan /home/user/hello.git.

    Sie können git daemon von xinetd oder als Hintergrund-Daemon mit der --detachOption ( sudo -u nobody git daemon --detach <other options>) ausführen .

  2. Smart HTTP, für das ein Webserver erforderlich ist: Anweisungen zu Pro Git

    Dies ist zwar etwas komplizierter einzurichten, überquert jedoch Proxys und Firewalls (was in bestimmten Umgebungen von Vorteil sein kann).

    Es ist auch möglich, HTTP zu verschieben - stellen Sie sicher, dass Sie dies nicht versehentlich aktivieren.

und dies stört nicht die Tatsache, dass das Repo bereits von Gitolit verwaltet wird? Was passiert, wenn jemand mit dem öffentlichen Zugriff kloniert und eine andere Person gleichzeitig mit ssh pusht? Chris vor 12 Jahren 0
@Chris: In Git sind solche Operationen wie in den meisten modernen VCSs atomar. Außerdem beschäftigt sich Gitolite nicht mit der inneren Struktur, sondern verwaltet hauptsächlich den Benutzerzugriff. Es ist * sehr * gebräuchlich, dass dasselbe Repository über Gitproto, SSH (manchmal Gitolite, öfter nur user @ host: path) und sogar über HTTP bereitgestellt wird. grawity vor 12 Jahren 0
Sie können auch den [special `daemon`-Benutzer in der Gitolite-Konfiguration] (http://sitaramc.github.com/gitolite/doc/2-admin.html#gwd) verwenden, um automatisch die speziellen` git-daemon- export-ok` -Datei, nach der `git daemon` sucht, bevor der Zugriff über` git: // `URLs zugelassen wird. Chris Johnsen vor 12 Jahren 3
Mögliche dritte Option: Wie wäre es mit einem schreibgeschützten privaten Schlüssel, der auf einer Website zum Herunterladen bereitgestellt wird, und dann den öffentlichen Schlüssel im Gitolite-Schlüsselverzeichnis zu installieren? - Wäre dies eine Sicherheitslücke oder könnte Gitolite damit umgehen? vor 9 Jahren 0