Le shell Git n'est pas activé?

J'essaie d'installer le server git. Lorsque j'ai configuré un shell par défaut pour mon user git à / usr / bin / git-shell, je reçois une erreur lors de la connection 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'access basé sur key Ssh, les permissions sont définies correctement.

La search Google ne montre rien concernant cette erreur.

J'ai également utilisé cette méthode dans des installations passées et aucune erreur de ce type n'a été affichée. Aussi, j'ai regardé le server fonctionnel s'il possède des files ou des configurations supplémentaires, mais pas de tel.

Spécifications système:

  • Gentoo linux (dernier)
  • Git 1.7.5.3

/ etc / passwd line:

 git:x:1002:1004::/home/git:/usr/bin/git-shell 

3 Solutions collect form web for “Le shell Git n'est pas activé?”

Je l'ai trouvé après avoir localisé les commands git-shell

cat /usr/share/doc/git-1.7.4.4/consortingb/git-shell-commands/README

Exemples de programmes appelables via git-shell. Placez un directory nommé 'git-shell-commands' dans le directory personnel d'un user dont l'enveloppe est git-shell. Ensuite, tout user se connectant car cet user pourra exécuter des exécutables dans le directory 'git-shell-commands'.

Commandes fournies:

help: Imprime les noms des commands disponibles. Lorsqu'il est exécuté de manière interactive, git-shell exécutera automatiquement 'help' lors du démarrage, pourvu qu'il existe.

list: affiche un repository nu dont le nom se termine par ".git" sous le directory personnel de l'user. Aucun autre référentiel git n'est visible, bien qu'ils puissent être clones via git-shell. La «list» est conçue pour minimiser le nombre d'appels à git qui doivent être effectués dans la search de repositorys disponibles; Si votre installation a des référentiels supplémentaires qui devraient être identifiables par l'user, vous pouvez modifier la list en conséquence.

Donc je

 [root@svn ~]# cp /usr/share/doc/git-1.7.4.4/consortingb/git-shell-commands /home/git -R [root@svn ~]# chown git:developers /home/git/git-shell-commands/ -R [root@svn ~]# chmod +x /home/git/git-shell-commands/help [root@svn ~]# chmod +x /home/git/git-shell-commands/list [root@svn ~]# exit [me@svn ~]$ su git Password: Run 'help' for help, or 'exit' to leave. Available commands: list git> help Run 'help' for help, or 'exit' to leave. Available commands: list git> list git> exit 

Maintenant, je ne vois pas quelle bonne aide et list sont, mais la connection a fonctionné. 🙂

je devais faire # mkdir ~git/git-shell-commands puis su git travaillé pour git 1.8.1.5-r1

Si vous regardez le code qui triggers ce message d'erreur (qui semble avoir été différent dans les anciennes versions de Git):

 if (access(COMMAND_DIR, R_OK | X_OK) == -1) { die("Interactive git shell is not enabled.\n" "hint: ~/" COMMAND_DIR " should exist " "and have read and execute access."); 

Ceci devrait être un bon problème sur le directory git-shell.

L'user doit avoir des permissions de lecture et d'exécution dans le directory afin d'exécuter les programmes.

  • Comment puis-je changer mon shell par défaut sur un count de domaine
  • Exécuter la commande en tant qu'utilisateur "système" Linux (shell = / bin / false)
  • Le terminal ne montre que $?
  • Préfixe de sortie standard avant de passer à une command
  • Comment écrire sur un file et, pendant que le file est encore en cours d'écriture, lisez et parsingz son contenu à l'aide d'un script shell?
  • Comment puis-je empêcher l'exploration de démarrer en tant que shell dans un paramètre de kiosque?
  • Impossible de créer un file dans bash
  • Inspecter comment $ PATH est créé
  • Fichiers scp uniquement avec extension définie
  • Que fais-tu quand une command inonde ton terminal avec trop de sortie?
  • Exécuter un script shell en tant qu'utilisateur différent
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.