permite git acess sob chroot

0

O servidor configurou chroot environment.Users podem acessar o servidor por sftp . Mais do que isso, eles precisam usar git aslo.Eu estava seguindo este link criando-chroot-jail- ssh-access , copiou /bin/bash /usr/bin/git-shell para a /home/someuser/bin/bash e /home/someuser/usr/bin/git-shell e também a l2chroot part.

/home/someuser/lib#ls -al -R

total 12 drwxr-xr-x 3 git git 4096 Jul 24 15:21 . drwxr-xr-x 25 root root 4096 Jul 24 15:21 .. drwxr-xr-x 2 git git 4096 Jul 24 15:21 x86_64-linux-gnu

./x86_64-linux-gnu: total 2888 drwxr-xr-x 2 git git 4096 Jul 24 15:21 . drwxr-xr-x 3 git git 4096 Jul 24 15:21 .. -rwxr-xr-x 1 git git 1868984 Jul 24 15:21 libc.so.6 -rw-r--r-- 1 git git 14608 Jul 24 15:21 libdl.so.2 -rw-r--r-- 1 git git 456632 Jul 24 15:21 libpcre.so.3 -rwxr-xr-x 1 git git 138696 Jul 24 15:21 libpthread.so.0 -rw-r--r-- 1 git git 31712 Jul 24 15:21 librt.so.1 -rw-r--r-- 1 git git 130224 Jul 24 15:21 libselinux.so.1 -rw-r--r-- 1 git git 167240 Jul 24 15:21 libtinfo.so.5 -rw-r--r-- 1 git git 104864 Jul 24 15:21 libz.so.1

Mas faço o login com someuser que reclama:

Last login: Mon Jul 24 16:59:19 2017 from 114.***.189

/usr/bin/git-shell: Not a directory

Primeiro eu quero que os usuários do git possam usar o git.Second não quer que eles possam ler todos os arquivos no sistema. Como fazer isso funcionar?

ATUALIZAÇÃO: sshd_config sftp part

Subsystem sftp internal-sftp -f AUTH -l INFO
Match group sftpusers
  ChrootDirectory %h
  ForceCommand internal-sftp -l INFO -f AUTH
  AllowTcpForwarding no
  X11Forwarding no

Match group git
  ChrootDirectory /home/%u
  X11Forwarding no
  AllowTcpForwarding no
    
por Shihe Zhang 24.07.2017 / 11:09

1 resposta

1

Se você quiser ter um git no chroot (não há uma boa razão para fazer isso uma vez que você não permitirá o acesso ao shell), você precisa incluir o executável no chroot. Basta copiar o do sistema (incluindo todas as bibliotecas vinculadas dinamicamente).

    
por Jakuje 24.07.2017 / 12:37