Restringir acesso de um usuário a seu diretório home usando o ProFTP já virou carne-de-vaca, então vou colocar um dica diferente aqui: Como manter seus usuários restritos usando SFTP. Atenção: Não estou falando de FTPS (FTP over SSL).
O primeiro requisito é ter um servidor OpenSSH pelo menos na versão 4.9p1. Tanto meu Ubuntu 8.10 quanto meu OpenSuSE 11.1 vieram com pacotes superiores a essa versão, mas infelizmente o Red Hat Enterprise 5.3 não.
No seu arquivo de configuração do ssh (normalmente /etc/ssh/sshd_config) edite a seguinte linha:
Subsystem sftp /usr/libexec/openssh/sftp-server
E substitua por:
Subsystem sftp internal-sftp
E também adicione as seguintes linhas no final do arquivo:
Match Group restrito ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no
A primeira linha indica que se o usuário pertencer ao grupo “restrito” ele está sujeito às regras que vem a seguir e é logo na próxima linha que determinamos a restrição do usuário ao seu home directory indicado pelo “%h”
Agora basta configurar o usuário adequadamente. Reparem que esta parte é mandatória. Tentei configurar o servidor sem configurar o usuário sem sucesso:
Mar 5 09:08:10 server sshd[12760]: fatal: bad ownership or modes for chroot directory "/home/linuxman"
Então configure o usuário e seu diretório de acordo:
# usermod -G restrito linuxman # usermod -s /bin/false linuxman # chown root:root /home/linuxman # chmod 0755 /home/linuxman
Pronto. Agora seus usuários estão restritos e seguros.
ops, eu prefiro usar ‘# usermod -s /usr/bin/passwd linuxman’, assim o linuxman pode trocar sua senha sempre que quiser 😀