Ich muss unter Linux einen Benutzer mit Zugriffsrechten nur für einen Ordner erstellen.
Hintergrund:
Ich habe Git auf meinem virtuellen Server (Debian) installiert. Außerdem habe ich einen Benutzer für das Repository angelegt. Auf dem Server befinden sich viele private Daten. Alle Ordner haben jedoch Lesezugriff für andere, da dies für die Anwendungen benötigt wird, die auf dem Server laufen. Der Git-Benutzer kann also alle Daten sehen.
Ich möchte den Git-Benutzer nur auf den Ordner beschränken, in dem das Repository installiert ist. Ich habe auch ACL ausprobiert, aber das hat nicht funktioniert.
Gibt es eine bessere Möglichkeit, dies zu tun?
Dank im Voraus!
Antwort1
Ich habe das Problem selbst gelöst. Gitolite klingt sehr gut, ist aber für mein Problem zu viel Aufwand.
Ich habe lediglich einen neuen Benutzer auf meinem Server erstellt und seine Shell wie folgt auf die Git-Shell geändert
chsh -s /usr/bin/git-shell gituser
Nun habe ich ein Git erstellt und sichergestellt, dass der Benutzer die erforderlichen Rechte für den Ordner hat.
Antwort2
Sie sollten sich Folgendes ansehen:Gitolit, mit dem Sie Git-Zugriff auf einem Server über SSH einrichten können, ohne Zugriff auf irgendetwas anderes zu gewähren. Dies funktioniert, indem der Benutzer so eingerichtet wird, dass er statt einer Shell einen Prozess ausführt, der nur die Befehle versteht, die Git zum Ausführen auf dem Server benötigt, und sonst nichts. Sie können auch mehrere Konten basierend auf SSH-Schlüsseln mit nur einem Unix-Benutzerkonto einrichten.
Antwort3
Diese Antwort war für SFTP gedacht, sollte aber identisch sein mit der EinrichtungAnderer Artikel. Stellen Sie einfach sicher, dass der GIT-Benutzer nicht zu einer Benutzergruppe gehört, die die Benutzerrechte außer Kraft setzen könnte, wie etwa Root oder Administrator.