Eu tenho um site que eu quero adicionar algum acesso restrito a uma subpasta. Para isso, decidi usar o CHROOT com SFTP (segui principalmente este link: http://shapeshed.com/chroot_sftp_users_on_ubuntu_intrepid/ )
Por enquanto, criei um usuário (sio2104) e um grupo (magento). Após seguir o guia, minha lista de pastas fica 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 mostrei root: raiz da pasta magento que eu queria prender o usuário e ... todo o resto, a propósito. Também na pasta magento, eu mostro sio2104: magento tudo para que eles possam acessar o que querem. Por fim, 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, posso digitar meu login, senha e tudo terminou com um erro de "tubo quebrado".
$ sftp sio2104@10.20.0.50
[....some debug....]
sio2104@10.20.0.50'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 no-more-sessions@openssh.com
debug1: Entering interactive session.
Write failed: Broken pipe
Connection closed
O modo verboso não oferece nada para ajudar. Alguém tem uma idéia do que eu fiz de errado? Se eu tentar fazer login com ssh ou sftp com meu usuário pessoal, tudo funcionará bem.
/var/log/auth.log
.