2016-11-18 2 views
1

Ich benutze Gitolit für Git-Repository den Zugriff zu beschränken.Beschränken Lesezugriff in Git Repo mit Gitolit

Jeder kann sagen, wie konfigurieren Sie beschränken die Zweige und wie Leseberechtigung für bestimmte Dir/Datei einzuschränken?

+0

Das ist möglicherweise in der Webschnittstelle möglich, aber git selbst unterstützt dies nicht. Leute klonen das ganze Repo und bekommen alles. Sie müssten ein "zensiertes" zweites Repository erstellen, das nur das enthält, was sichtbar sein soll. – Thilo

Antwort

2

Wie in der am Repo-Ebene gesteuert

Lesezugriff Gitolite overview erwähnt,

Sie entweder Zugriff (Klon) der voll Repo oder Sie tun nicht.

Eine sensible Datei sollte in der Regel nicht in einem Repo (oder in einem privaten Repo) sein, und durch eine smudge filter content driver generiert werden. Das 'smudge' Skript kann (unter git checkout) überprüfen, ob Sie ein autorisierter Benutzer sind, und wenn ja, holen Sie die Datei (von einer vertrauenswürdigen privaten Quelle, nicht von einem Git Repo) und generieren beim Auschecken Ihre eingeschränkte Datei.

Schreiben Zugriffsbeschränkung, auf der anderen Seite war schon immer möglich, .
Mit VREFS, können Sie alle Arten von Maßnahmen (wie git commit messages oder based on roles erzwingen.

Und ja, können Sie restrict pushes based on file/DIR.

Sie auch LDAP groups to restrict gitolite access


zur Einschränkung nutzen können Lesezugriff basierend auf Verzeichnis/Datei oder Verzweigungen/Tags außer Gitolit ...

  • zunächst sogar gitolite tun nicht, dass
  • dies nicht der Fall, wie ein Git-Repo funktioniert: Sie Einschränkungen für den Zuhörer verhängen würde (https oder ssh) Ebene ist, dass das Niveau, auf dem git upload-pack (auf dem Server ausgeführt Seite während eines Clients git fetch) fordert Pakete an: es wird von ssh oder von der https smart protocol aufgerufen.
    Das würde die Packungsinspektion (mit git verify-pack) beinhalten, die den Clone/Fetch-Vorgang erheblich verlangsamen würde und meines Wissens nicht durchgeführt wurde.

Daher mein ursprünglicher Vorschlag nicht stellte jede eingeschränkt/sensible Datei ni einen git Repo.

+0

Danke für deinen Rat @Vonc. Gibt es noch eine andere Option, die den Lese-Schreib-Zugriff auf der Basis von dir/file oder branches/tags beschränkt, mit Ausnahme von Gitolit? – vinayak

+0

Hast du die Antwort gelesen? –

+0

@vinay Ich habe die Antwort bearbeitet, um Ihre Frage zu beantworten (und um auf die bestehende * wirte * Beschränkung hinzuweisen) – VonC