Ich hoste mein eigenes Git-Repository auf einem VPS. Angenommen, mein Benutzer ist John.
Ich verwende das SSH-Protokoll, um auf mein Git-Repository zuzugreifen. Meine URL ist also ungefähr so ssh://john@myserver.com/path/to/git/myrepo/
.
Root ist der Besitzer von allem, was darunter ist /path/to/git
Ich versuche, John Lese- / Schreibzugriff auf alles zu gewähren, was darunter steht /path/to/git/myrepo
Ich habe beide versucht chmod
und setfacl
den Zugriff zu steuern, aber beide schlagen auf die gleiche Weise fehl: Sie wenden Rechte rekursiv (mit den richtigen Optionen) auf alle derzeit vorhandenen Unterverzeichnisse von an /path/to/git/myrepo
, aber sobald ein neues Verzeichnis erstellt wird, kann mein Benutzer nicht schreiben im neuen Verzeichnis.
Ich weiß, dass es Hooks in Git gibt, die es mir ermöglichen würden, die Rechte nach jedem Commit erneut anzuwenden, aber ich fange an zu denken, dass ich den falschen Weg gehe, weil dies für einen sehr grundlegenden Zweck zu kompliziert erscheint.
F : Wie sollte ich mein Recht einrichten, John Zugang zu John zu gewähren /path/to/git/myrepo
und es widerstandsfähig gegen Änderungen der Baumstruktur zu machen?
F2 : Wenn ich einen Schritt zurücktreten sollte, um den allgemeinen Ansatz zu ändern, sagen Sie es mir bitte.
Bearbeiten : Die Frage wurde so wie sie ist beantwortet, aber das war die falsche Frage. Die richtige Frage wäre gewesen: "Wie konfiguriere ich ein Bare-Git-Repository auf dem Server für die Verwendung mit SSH-Zugriff?". Siehe meine eigene Antwort.
g+s
. Natürlich müssen Sie zuerst auch die Grundlagen von verstehenchmod
.