O usuário do Chrooted não inicia em seu diretório pessoal e não carrega seus bash_profiles

3

Se os usuários fizerem login, ele iniciará / do chroot (que é / var / jail na máquina real). Eu gostaria que ele começasse no seu home-dir. Além disso, ele parece não carregar nenhum de seus arquivos de perfil (.bash.rc etc). Eu segui este tutorial para criar o ambiente chroot. É assim que meu / etc / passwd se parece:

test:x:1004:1008:,,,:/var/jail/home/test:/bin/bash

é assim que meu arquivo / var / jail / etc / passwd se parece:

test:x:1004:1008:,,,:/home/test:/bin/bash

Eu também descobri que, se eu remover

Match User test
    ChrootDirectory /var/jail
    AllowTCPForwarding no
    X11Forwarding no

do meu / etc / ssh / sshd_config, o usuário inicia em sua pasta home correta e com suas configurações bash carregadas. No entanto, ele é capaz de deixar o ambiente chroot se eu remover essa parte. Este pergunta que eu fiz antes está um pouco relacionada, já que acho que a aparência errada da linha de comando é causada pelos arquivos de perfil não carregados. Então, alguma idéia de como consertar isso?

    
por Stuffy 15.10.2012 / 13:50

1 resposta

5

Sua configuração está correta, exceto por um pequeno detalhe: o diretório inicial em /etc/passwd não deve conter a parte do caminho chroot. Altere para:

test:x:1004:1008:,,,:/home/test:/bin/bash

reinicie sshd e tente novamente.

De man sshd_config :

ChrootDirectory

Specifies the pathname of a directory to chroot(2) to after authentication. All components of the pathname must be root-owned directories that are not writable by any other user or group. After the chroot, sshd(8) changes the working directory to the user's home directory.

Ou seja, primeiro sshd executa chroot (no nosso caso chroot /var/jail ) e, em seguida, sshd altera o diretório para o homedir do usuário (no nosso caso cd /home/test - em um ambiente chrooted cd /var/jail/home/test não funcionaria).

Se você estiver usando Debian / Ubuntu (já que o tutorial que você mencionou é para o Debian) você pode querer criar um arquivo chamado /var/jail/etc/debian_chroot com o conteúdo "chroot", isso aparecerá no prompt do usuário entre parênteses como este:(chroot)test@servername:~$.

(Eu dupliquei sua configuração no meu Ubuntu 12.04 e funcionou depois de remover /var/jail da entrada do teste do usuário em /etc/passwd .)

    
por 15.10.2012 / 23:18