Concedendo acesso a um shell git restrito

3

Eu tentei configurar o git-shell no nosso sistema CentOS (6.4) (depois de fazer isso funcionar corretamente no Ubuntu 13.10, talvez uma bagunça quente entre plataformas?)

meu / etc / passwd mostra

git:x:500:500:Web Archive VCS:/home/git:/usr/bin/git-shell

e meus comandos shell estão em / home / git / git-shell-commands

[root@domain git]# cd /home/git/git-shell-commands/ && tree
.
├── addkey
├── create
├── drop
├── help
└── list

Mas ssh'ing ainda está me dando

Last login: Fri Nov 15 12:14:49 2013 from localhost
fatal: What do you think I am? A shell?
Connection to localhost closed.

Estou trabalhando com esse recurso

link

Houve alguma confusão de que isso era licenciado com comandos GIT (push / pull etc), mas este é um shell restrito com comandos pré-definidos! Por favor, qualquer um que esteja lendo isso, tome nota;)

Script do instalador se você quiser ver as etapas

link

EDITAR

Ainda não consegui resolver isso no fim de semana, adicionei

# add to shells
echo '/usr/bin/git-shell' >> /etc/shells

# Prevent full login for security reasons
chsh -s /usr/bin/git-shell git

E verifiquei novamente se o GIT Shell realmente existe em / usr / bin

[root@domain bin]# ll /usr/bin | grep git
-rwxr-xr-x. 105 root root    1138056 Mar  4  2013 git
-rwxr-xr-x.   1 root root    1138056 Mar  4  2013 git-receive-pack
-rwxr-xr-x.   1 root root     457272 Mar  4  2013 git-shell
-rwxr-xr-x.   1 root root    1138056 Mar  4  2013 git-upload-archive
-rwxr-xr-x.   1 root root     467536 Mar  4  2013 git-upload-pack

Esta é uma conta root com a qual estou lidando, poderia ter algo a ver com isso?

    
por ehime 15.11.2013 / 23:04

1 resposta

5

Como se constata, esse recurso foi introduzido no git 1.7.4. git --version me deu 1.7.1 em uma instalação básica do CentOS 6.4 esse foi o começo da questão = /

Se você tiver esse problema, verifique sua versão do git. Aqui é um script atualizador que escrevi para ajudá-lo em seus problemas.

#!/bin/bash
# Git updater for RHEL systems

# CPR : Jd Daniel :: Ehime-ken
# MOD : 2013-11-18 @ 09:28:49

# REF : http://goo.gl/ditKWu
# VER : Version 1.1

# ROOT check
if [[ $EUID -ne 0 ]]; then
  echo "This script must be run as su" 1>&2 ; exit 1
fi

yum install -y perl-ExtUtils-MakeMaker gettext-devel expat-devel curl-devel zlib-devel openssl-devel
cd /usr/local/src

git clone git://git.kernel.org/pub/scm/git/git.git && cd git
make && make prefix=/usr install

git --version
exit 0

Obrigado a todos que tiveram tempo de analisar isso, eu agradeço muito.

    
por 18.11.2013 / 18:33