J'essaie d'installer le serveur git. Lorsque je définis le shell par défaut de mon utilisateur git sur / usr / bin / git-shell, j'obtiens une erreur lors de la connexion en tant que git.
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
Travail d'accès basé sur la clé Ssh, les autorisations sont définies correctement.
La recherche Google n'affiche rien concernant cette erreur.
J'ai également utilisé cette méthode dans des installations antérieures et aucune erreur de ce type n'a été affichée. J'ai également regardé le serveur de travail s'il contient des fichiers ou une configuration supplémentaires, mais rien de tel.
Spécifications du système:
- Gentoo linux (dernière)
- Git 1.7.5.3
Ligne / etc / passwd:
git:x:1002:1004::/home/git:/usr/bin/git-shell
git-shell
est un shell restreint à utiliser uniquement pour la fonctionnalité push / pull (c'estgit push
-à- dire ,git fetch
etgit pull
). Ce n'est pas censé être interactif, vous ne devez donc pas vous connecter dans un shell interactif. Vous pouvez le rendre quelque peu interactif en ajoutant ungit-shell-commands
répertoire dans la maison de l'utilisateur et en créant un lien symbolique vers certains binaires à l'intérieur. Mais c'est très limité (il n'y a pas de binaire pourcd
, par exemple), donc une meilleure alternative est de se connecter en tant qu'utilisateurroot
ousudo
capable et de fairesudo -u git -s
pour obtenir unbash
shell complet sous l'git
utilisateur.Réponses:
J'ai trouvé ça après avoir couru
locate git-shell-commands
J'ai donc exécuté les commandes suivantes en tant que root:
J'ai ensuite pu exécuter ce qui suit en tant
git
qu'utilisateur:Maintenant, je ne vois pas ce qu'est une bonne aide et une bonne liste, mais la connexion a fonctionné. :)
la source
je devais juste faire
# mkdir ~git/git-shell-commands
ensuitesu git
travaillé pourgit 1.8.1.5-r1
la source
git-shell-commands
dossier. Je pense qu'il est plus utile de sauter tout cela et de le fairesudo -u git -s
pour obtenir unbash
shell complet avec accès à tous les binaires. Vous restez également dans le répertoire actuel.Si vous regardez le code qui déclenche ce message d'erreur (qui semble avoir été différent dans les anciennes versions de Git):
cela devrait être un bon problème sur le répertoire git-shell.
la source
~/git-shell-commands
les bonnes autorisations?