Ich versuche, Git-Server zu installieren. Wenn ich die Standard-Shell für meinen Git-Benutzer auf / usr / bin / git-shell setze, erhalte ich eine Fehlermeldung, wenn ich mich als Git anmelde.
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
SSH-Schlüssel Zugriff funktioniert, Berechtigungen sind richtig eingestellt.
In der Google-Suche wird zu diesem Fehler nichts angezeigt.
Ich habe diese Methode auch in früheren Installationen verwendet und es wurde kein solcher Fehler angezeigt. Ich habe mir auch den funktionierenden Server angesehen, wenn er einige zusätzliche Dateien oder eine Konfiguration hat, aber keine solche.
Systemspezifikation:
- Gentoo Linux (aktuell)
- Git 1.7.5.3
/ etc / passwd Zeile:
git:x:1002:1004::/home/git:/usr/bin/git-shell
git-shell
ist eine eingeschränkte Shell für Push / Pull - Funktionalität nur (dh verwendet werdengit push
,git fetch
undgit pull
). Es soll nicht interaktiv sein, daher sollten Sie sich nicht in einer interaktiven Shell anmelden. Sie können es etwas interaktiver gestalten, indem Sie eingit-shell-commands
Verzeichnis in der Startseite des Benutzers hinzufügen und einige Binärdateien darin verknüpfen. Aber es ist sehr begrenzt (es gibtcd
zum Beispiel keine Binärdatei für ), daher ist es eine bessere Alternative, sich alsroot
oder alssudo
fähiger Benutzer anzumelden undsudo -u git -s
eine vollständigebash
Shell unter dengit
Benutzer zu bekommen.Antworten:
Ich fand das nach dem Laufen
locate git-shell-commands
Also habe ich die folgenden Befehle als root ausgeführt:
Ich konnte dann als
git
Benutzer Folgendes ausführen :Jetzt sehe ich nicht, was gute Hilfe und Liste sind, aber der Login hat funktioniert. :)
quelle
Ich habe gerade zu tun ,
# mkdir ~git/git-shell-commands
dannsu git
arbeitetegit 1.8.1.5-r1
quelle
git-shell-commands
Ordner. Ich denke, es ist sinnvoller, all das zu überspringen,sudo -u git -s
damit Sie eine vollständigebash
Shell mit Zugriff auf alle Binärdateien erhalten. Sie bleiben auch im aktuellen Verzeichnis.Wenn Sie sich den Code ansehen, der diese Fehlermeldung auslöst (was in älteren Versionen von Git anscheinend anders war ):
Dies sollte ein richtiges Problem im Git-Shell-Verzeichnis sein.
quelle
~/git-shell-commands
mit den richtigen Berechtigungen?