¿Git shell no está habilitado?

Pregunta:

Estoy intentando instalar el servidor git. Cuando configuro el shell predeterminado para mi usuario de git en / usr / bin / git-shell, aparece un error al iniciar sesión como git.

fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.

El acceso basado en clave SSH funciona, los permisos están configurados correctamente.

La búsqueda de Google no muestra nada con respecto a este error.

También utilicé este método en instalaciones anteriores y no se mostró tal error. También miré el servidor en funcionamiento si tiene algunos archivos o configuraciones adicionales, pero no tal cosa.

Especificaciones del sistema:

  • Gentoo linux (más reciente)
  • Git 1.7.5.3

/ etc / passwd línea:

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

Respuesta:

Encontré esto después de ejecutar locate git-shell-commands

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

Programas de muestra que se pueden llamar a través de git-shell. Coloque un directorio llamado 'git-shell-commands' en el directorio de inicio de un usuario cuyo shell sea git-shell. Entonces cualquiera que inicie sesión como ese usuario podrá ejecutar ejecutables en el directorio 'git-shell-commands'.

Comandos proporcionados:

ayuda: imprime los nombres de los comandos disponibles. Cuando se ejecuta de forma interactiva, git-shell ejecutará automáticamente 'ayuda' al inicio, siempre que exista.

lista: muestra cualquier repositorio simple cuyo nombre termine con ".git" en el directorio de inicio del usuario. No hay otros repositorios de git visibles, aunque pueden ser clonables a través de git-shell. 'list' está diseñado para minimizar la cantidad de llamadas a git que se deben realizar para encontrar repositorios disponibles; Si su configuración tiene repositorios adicionales que deberían ser detectables por el usuario, es posible que desee modificar la 'lista' en consecuencia.

Entonces ejecuté los siguientes comandos como root:

cp /usr/share/doc/git-1.7.4.4/contrib/git-shell-commands /home/git -R
chown git:developers /home/git/git-shell-commands/ -R
chmod +x /home/git/git-shell-commands/help
chmod +x /home/git/git-shell-commands/list
exit

Luego pude ejecutar lo siguiente como usuario de git :

[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

Ahora no veo qué buena ayuda y lista son, pero el inicio de sesión funcionó. 🙂

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım