SFTP ChRoot resulta em cano quebrado

6

Eu tenho um site que quero adicionar algum acesso restrito a uma subpasta. Para isso, decidi usar CHROOT com SFTP (eu segui este link: link )

Por enquanto, eu criei um usuário (sio2104) e um grupo (magento). Depois de seguir o guia, minha lista de pastas ficou assim:

-rw-r--r--  1 root root       27 2012-02-01 14:23 index.html
-rw-r--r--  1 root root       21 2012-02-01 14:24 info.php
drwx------ 15 root root     4096 2012-02-25 00:31 magento

Como você pode ver, eu chown root: root no magento da pasta que eu queria para a cadeia no usuário e ... todo o resto pelo caminho. Também na pasta magento, eu faço sio2104: magento tudo para que eles possam acessar o que eles querem. Finalmente, adicionei isso ao arquivo sshd_config:

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

Match Group magento
        ChrootDirectory /usr/share/nginx/www/magento
        ForceCommand internal-sftp
        AllowTCPForwarding no
        X11Forwarding no
        PasswordAuthentication yes

#UsePAM yes

E o resultado é ... bem, eu posso inserir meu login, senha e está tudo terminado com um erro de "cano quebrado".

$ sftp [email protected]
[....some debug....]
[email protected]'s password: 
debug1: Authentication succeeded (password).
Authenticated to 10.20.0.50 ([10.20.0.50]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
Write failed: Broken pipe
Connection closed

O modo detalhado não dá nada para ajudar. Alguém tem uma ideia do que eu fiz de errado? Se eu tentar entrar com ssh ou sftp com meu usuário pessoal, tudo funciona bem.

    
por Patrick Pruneau 26.02.2012 / 21:22

3 respostas

3

Eu tive o mesmo problema.

O chroot-dir deve ser definido como raiz do proprietário e raiz do grupo. (chown root: root chroot-dir)

    
por 01.03.2012 / 10:13
2

Tente ter seu diretório padrão diferente do diretório chroot.

Eu defini / home / ftpman como meu diretório padrão.

vi /etc/passwd

..
ftpman:x:1001:1002::/home/ftpman:/bin/bash

e

ls -la /home

...
drwxr-xr-x  5 ftpman sftponly 4096 Jun 25 11:56 ftpman

Então eu tenho o diretório chroot configurado como /. E isso funciona para mim

vi /etc/ssh/sshd_config

...
Match Group sftponly
  X11Forwarding no
  AllowTcpForwarding no
  ChrootDirectory /
  ForceCommand internal-sftp
    
por 25.06.2014 / 06:18
0

Eu não tenho 100% de certeza sobre isso, mas pelo que eu entendo o processo chroot, o SSHd irá se basear como seu usuário primeiro, então tentará chroot. Isso obviamente falhará, pois o diretório não pode ser acessado sendo sio2104 no sistema.

Tente liberar a permissão do sistema de arquivos na pasta magento ( chmod o+rx ).

    
por 20.12.2012 / 01:37