Berechtigungen sind eine Plage.
Grundsätzlich müssen Sie sicherstellen, dass alle diese Entwickler auf alles im Git-Repo schreiben können.
Fahren Sie mit The New-Wave Solution fort, um zu erfahren, wie Sie einer Gruppe von Entwicklern überlegene Schreibrechte erteilen können.
Die Standardlösung
Wenn Sie alle Entwickler in einer speziell erstellten Gruppe zusammenfassen, können Sie im Prinzip einfach Folgendes tun:
chgrp -R <whatever group> gitrepo
chmod -R g+swX gitrepo
Ändern Sie dann die umask
für die Benutzer in 002
, damit neue Dateien mit gruppenbeschreibbaren Berechtigungen erstellt werden.
Die Probleme damit sind Legion; Wenn Sie sich in einer Distribution befinden, die eine umask
von 022
(z. B. eine gemeinsame users
Gruppe mit standardmäßig allen Benutzern) annimmt , kann dies zu Sicherheitsproblemen an anderer Stelle führen. Und früher oder später wird etwas Ihr sorgfältig ausgearbeitetes Berechtigungsschema durcheinander bringen und das Repo außer Betrieb setzen, bis Sie root
Zugriff erhalten und es reparieren (dh die obigen Befehle erneut ausführen).
Die New-Wave-Lösung
Eine überlegene Lösung, die zwar weniger bekannt ist und etwas mehr Unterstützung für Betriebssysteme und Tools erfordert, ist die Verwendung erweiterter POSIX-Attribute. Ich bin erst vor kurzem in dieses Gebiet gekommen, daher ist mein Wissen hier nicht so heiß, wie es sein könnte. Grundsätzlich ist eine erweiterte ACL jedoch die Möglichkeit, Berechtigungen für mehr als nur die drei Standardsteckplätze (Benutzer / Gruppe / Andere) festzulegen.
Erstellen Sie also noch einmal Ihre Gruppe und führen Sie dann Folgendes aus:
setfacl -R -m g:<whatever group>:rwX gitrepo
find gitrepo -type d | xargs setfacl -R -m d:g:<whatever group>:rwX
Dies richtet die erweiterte ACL für die Gruppe ein, so dass die Gruppenmitglieder lesen / schreiben / auf alle Dateien zugreifen können, die bereits vorhanden sind (die erste Zeile). Teilen Sie anschließend allen vorhandenen Verzeichnissen mit, dass auf neue Dateien dieselbe ACL angewendet werden soll (zweite Zeile).
Hoffe das bringt dich auf den Weg.