Ich habe ein Git-Repository auf meinem SunOS-Server gehostet, das ich über ssh remote verwende
git clone ssh://[email protected]/path/to/git
Jetzt muss ich weitere Benutzer hinzufügen, um auf dieses Repository zugreifen zu können, bin mir aber nicht sicher, wie.
Ich habe ssh einen testUser hinzugefügt , aber ich kann diese Benutzerrechte anscheinend nicht darauf beschränken, nur git zu verwenden.
testUser kann den gesamten Server durchsuchen und durchsuchen.
Wie kann ich Benutzer erstellen, die nur remote auf git zugreifen können, um zu klonen / ziehen / pushen usw.
Vielen Dank
quelle
Sie haben grundsätzlich zwei Möglichkeiten.
Wie oben erwähnt, setzen Sie beim Erstellen von Benutzern auf dem Server deren Shell auf git-shell ( Bucheintrag hier ). Auf diese Weise kann sich der Benutzer über SSH anmelden. Statt jedoch eine normale Shell mit vollem Funktionsumfang (z. B. sh, bash usw.) Auszuführen, wird git-shell ausgeführt, die nur Zugriff auf die git-Funktionalität bietet.
Alternativ können Sie Ihre Repositorys über ein anderes Protokoll wie TCP (mit git-deamon ) oder HTTP / HTTPS verfügbar machen . Ich würde ein solches Szenario jedoch nur für den schreibgeschützten Zugriff empfehlen.
Sie erwähnen, dass Sie die Push-Funktionalität für Ihre Benutzer unterstützen möchten, daher sollten Sie sich wirklich für Option 1 entscheiden.
quelle
Sie müssen ihre Shell in Git-Shell ändern, damit sie nur auf Git-Funktionen zugreifen können.
quelle
Eine andere Möglichkeit besteht darin, den Zugriff der Benutzer innerhalb von ssh zu beschränken.
( http://prefetch.net/blog/index.php/2006/09/05/limiting-access-to-openssh-directives/ )
Das Beispiel besteht nur darin, nur einen Benutzer zu verwenden. Wenn sich die Benutzer jedoch in derselben Gruppe befinden, können Sie sie mithilfe der Gruppenanweisung herausfiltern. Etwas wie
quelle