Korrekte Dateiberechtigungen für Trac- und Git-Benutzer zum Zugriff auf Gitolite-Server-Repos

Korrekte Dateiberechtigungen für Trac- und Git-Benutzer zum Zugriff auf Gitolite-Server-Repos

Auf meinem Server hoste ich einige Git-Repositorys über Gitolite und habe einen Trac für jedes Repository.

Ich habe einen Benutzer namens „git“ zum Pushen/Pullen vom Server ( git clone git@server:repo). und „trac“ ist ein Apache-Vhost mit mod_wsgi. Dies läuft mit dem Benutzer „www-data“.

Was mir also Rätsel aufgibt (vielleicht, weil ich von Dateiberechtigungen überhaupt keine Ahnung habe), ist die Frage, welches die beste Berechtigungskonfiguration (chown, chmod) für die Git-Repositorys ( /home/git/repositories/...) ist.

www-data (oder trac) benötigt zumindest Leseberechtigungen (glaube ich). Und git (oder gitolite) benötigt offensichtlich Lese-/Schreibberechtigungen, um Änderungssätze zu pushen.

Ich habe ein bisschen herumprobiert (z. B. habe ich www-data und/oder git zur Gruppe www-data/git hinzugefügt), aber es hat nicht geklappt. Mindestens eines von beiden funktioniert nicht (git oder trac).

Alle Vorschläge sind sehr willkommen.

Antwort1

Der sicherste Weg, dies zu tun, ist meiner Meinung nach eine Gruppe namens git-readers

Fügen Sie Git und WWW-Daten hinzu, dann erhalten Sie die folgende Ordnerstruktur:

/home/git - git:git-readers u=rwx,g=rx,o=
/home/git/repositories - git:git u=rwx,g=rwx,o=rx

Dadurch können WWW-Daten in den Ordner gelesen werden, der Git-Benutzer erhält jedoch nur Schreibzugriff. Alle anderen Benutzer können nichts tun.

Wenn Sie zusätzliche Autoren hinzufügen möchten, würde ich eine weitere Gruppe „Git-Writers“ hinzufügen und die Benutzer und Git sowie die Gruppe „Git-Readers“ hinzufügen und dann die folgende Struktur verwenden:

/home/git - git:git-readers u=rwx,g=rx,o=
/home/git/repositories - git:git-writers u=rwx,g=rwxs,o=rx

Beachten Sie das „s“ in den Gruppenberechtigungen. Dadurch verwenden die Writer-Benutzer die Gruppe „git-writers“ als ihre Standardgruppe. Dies funktioniert nur dann ordnungsgemäß, wenn die Writer alle Umask 0002 sind.

Antwort2

verwandte Informationen