Ubuntu 11.10 Problema de cadeia chroot SFTP

1

Estou criando um servidor SFTP com o Chroot Jail. O problema é que o usuário não pode efetuar login no diretório inicial. Eu preciso manter o valor de ChrootDirectory em um diretório acima do diretório base do usuário (/ home / jail / home neste caso). Eu li que o diretório precisa ser de propriedade do root. Nesse caso, o usuário não pode fazer nada, exceto efetuar login no servidor. Abaixo está a parte específica do sftp do meu arquivo sshd_config

Match User ftpuser
    ChrootDirectory /home/jail/home/ftpuser
    ForceCommand internal-sftp

A saída de $id ftpuser é

uid=1001(ftpuser) gid=1002(ftpuser) groups=1002(ftpuser),0(root)

Eu o adicionei intencionalmente ao grupo raiz para que o ftpuser possa pelo menos efetuar login.

A saída de $grep ftpuser /etc/passwd é

ftpuser:x:1001:1002::/home/jail/home/ftpuser:/bin/false

Permissões de / home / jail / home / ftpuser ared

rwx------+ 3 root root 4096 2011-12-12 12:49 /home/jail/home/ftpuser/

O que devo fazer?

    
por Dharmit 12.12.2011 / 08:43

1 resposta

-1

Bem depois de algumas pesquisas no Google, encontrei uma solução. Embora não seja uma boa prática, mas ajudou-me.

Mudei o UID de usuários com chroot para 0, ou seja, UID do usuário root, sem alterar o shell de login. Como resultado, o usuário chrooted pode acessar seu diretório inicial da maneira que eu preciso dele. E como o shell de login é /bin/false , ele não pode fazer login no sistema como outros usuários (na verdade, tentei fazer su - ftpuser enquanto estava conectado à minha máquina, pois root e ftpuser não obtiveram o acesso ao shell).

Embora esta solução possa não ser boa ou preferível, foi a única solução que consegui encontrar.

    
por 12.12.2011 / 17:40

Tags