Saya mencoba menginstal git server. Ketika saya mengatur shell default untuk pengguna git saya ke / usr / bin / git-shell saya mendapatkan kesalahan saat login sebagai git.
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
Pekerjaan akses berbasis kunci ssh, izin diatur dengan benar.
Pencarian Google tidak menunjukkan apa pun mengenai kesalahan ini.
Saya juga menggunakan metode ini di instalasi sebelumnya dan tidak ada kesalahan yang ditampilkan. Saya juga melihat server yang berfungsi jika memiliki beberapa file tambahan atau konfigurasi tetapi tidak ada yang seperti itu.
Spesifikasi sistem:
- Gentoo linux (terbaru)
- Git 1.7.5.3
/ etc / passwd line:
git:x:1002:1004::/home/git:/usr/bin/git-shell
git-shell
adalah shell yang dibatasi untuk digunakan hanya untuk fungsi push / pull (yaitugit push
,git fetch
dangit pull
). Itu tidak dimaksudkan untuk menjadi interaktif, jadi Anda tidak harus login di shell interaktif. Anda dapat membuatnya agak interaktif dengan menambahkangit-shell-commands
direktori di rumah pengguna dan menghubungkan beberapa biner di dalamnya. Tapi itu sangat terbatas (tidak ada biner untukcd
, misalnya), jadi alternatif yang lebih baik adalah login sebagairoot
atausudo
pengguna yang mampu dan lakukansudo -u git -s
untuk mendapatkanbash
shell penuh di bawahgit
pengguna.Jawaban:
Saya menemukan ini setelah berjalan
locate git-shell-commands
Jadi saya menjalankan perintah berikut sebagai root:
Saya kemudian dapat menjalankan yang berikut sebagai
git
pengguna:Sekarang saya tidak melihat apa bantuan dan daftar yang baik, tetapi login berhasil. :)
sumber
Saya hanya harus lakukan
# mkdir ~git/git-shell-commands
kemudiansu git
bekerja untukgit 1.8.1.5-r1
sumber
git-shell-commands
folder. Saya pikir lebih bermanfaat untuk melewatkan semua itu dan melakukannyasudo -u git -s
agar Anda mendapatkanbash
shell penuh dengan akses ke semua binari. Anda juga tetap berada di direktori saat ini.Jika Anda melihat kode yang memicu pesan kesalahan itu (yang tampaknya berbeda di versi Git yang lebih lama):
ini seharusnya menjadi isu yang tepat di direktori git-shell.
sumber
~/git-shell-commands
izin yang tepat?