Próbuję zainstalować serwer git. Kiedy ustawiam domyślną powłokę dla mojego użytkownika git na / usr / bin / git-shell, pojawia się błąd podczas logowania jako git.
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
Dostęp oparty na kluczu SSH, uprawnienia są ustawione poprawnie.
Wyszukiwarka Google nie pokazuje niczego dotyczącego tego błędu.
Użyłem tej metody również w poprzednich instalacjach i nie pojawił się żaden taki błąd. Patrzyłem też na działający serwer, jeśli ma jakieś dodatkowe pliki lub konfigurację, ale nie ma czegoś takiego.
Specyfikacja systemu:
- Linux Gentoo (najnowszy)
- Git 1.7.5.3
/ etc / passwd line:
git:x:1002:1004::/home/git:/usr/bin/git-shell
git-shell
jest ograniczony shell być wykorzystywane do funkcji Push / ciągnącej tylko (tjgit push
,git fetch
igit pull
). Nie ma być interaktywny, więc nie powinieneś logować się w interaktywnej powłoce. Możesz uczynić go nieco interaktywnym, dodającgit-shell-commands
katalog w domu użytkownika i dowiązując do niego niektóre pliki binarne. Ale jest bardzo ograniczony (cd
na przykład nie ma pliku binarnego ), więc lepszą alternatywą jest zalogowanie się jako użytkownikroot
lubsudo
sprawny isudo -u git -s
uzyskanie pełnejbash
powłoki pod tymgit
użytkownikiem.