Im ersten Artikel wurde Sparkleshare zwar auf einem Clientrechner eingerichtet, doch interessant ist das natürlich eigentlich erst, wenn man wirklich etwas „sharen“ kann (daher der Name). Wie man das konfiguriert, will ich in diesem Artikel vorführen. Für die folgende Anleitung nehme ich an, dass der Gitolite-Server wie beschrieben eingerichtet und auf jedem teilnehmenden Rechner schon Sparkleshare installiert ist. Die dabei erzeugten öffentlichen ssh-Schlüssel seien alle bereits dort gesammelt, wo das magische gitolite-admin-Repository verwaltet wird (bei mir ist das mein MacBook, eventuell irgendwo auf dem Server, vielleicht direkt in Sparkleshare).
Was wir im folgenden tun werden ist im Endeffekt nur die Konfiguration von Zugriffsrechten auf einem Gitolite-Server.
Szenario 1: ein Benutzer, mehrere Rechner
Hier machen wir uns zunutze, dass Gitolite für denselben Benutzernamen mehrere ssh-Schlüssel verwalten kann. Den Schlüsseln wird über ihren Dateinamen ein Benutzername zugeordnet; gleicher Dateiname, gleicher Benutzer. Statt des flachen keydirs erzeugen wir also Unterverzeichnisse:
An den eigentlichen Rechteeinstellungen müssen wir nichts ändern, denn mit beiden ssh-Schlüsseln sind wir ja derselbe Benutzer. (Wenn gitolite-admin nicht von Sparkleshare verwaltet wird, dann an dieser Stelle git push nicht vergessen…)
Ich habe bei der Client-Installation zwei unterschiedliche eMail-Adressen (privates MacBook, dienstliches Windows-Laptop) eingetragen, darum kann man meine Persönlichkeitsspaltung jetzt an zwei verschiedenen Gravatar-Bildern beobachten:
Szenario 2: mehrere Benutzer
Der Schlüssel des anderen Benutzers muss wie im ersten Beispiel im gitolite-admin/keydir auf einen (anderen!) Benutzernamen gelegt werden. Danach wird es etwas komplizierter, denn wenn mehrere Benutzernamen auf demselben Verzeichnis arbeiten können sollen, dann müssen die Rechte explizit vergeben werden. Wir editieren also wieder die Datei gitolite-admin/conf/gitolite.conf und fügen am Schluss ein:
repo sparkleshare/shared/shareddir RW+ = dentaku RW+ = otheruser
Die durch Wildrepos entstandenen Repositories kommen eigentlich auch für eine gemeinsame Benutzung infrage, ich persönlich finde es aber eleganter, einen eigenen Bereich vorzusehen.
Das war’s eigentlich schon, fröhliches Dateienteilen.
Weiterführende Hinweise z.B. zur Einrichtung von Berechtigungsgruppen finden sich in der Gitolite-Dokumentation.
Eine Antwort auf „Sparkleshare Teil 2: Sharing is Magic“
[…] So, nochmal zu #Sparkleshare , diesmal wird auch wirklich was geteilt: dentaku.wazong.de/2012/06/26/s…-is-magic/ # Microblog Sparkleshare […]