A finalidade do procedimento é limitar o acesso sftp a diretórios específicos, por padrão as conexões sftp via cliente sftp/ftp possibilitam a visualização de toda estrutura de diretórios do S.O.
A configuração limitará o acesso sftp a um diretório localizado dentro do home do usuário.
Edite o arquivo sshd_config:
# vim /etc/ssh/sshd_config
Comente esta linha:
# Subsystem sftp /usr/libexec/openssh/sftp-server
E adicione o conteúdo abaixo ao final do arquivo:
Subsystem sftp internal-sftp
Match group sftpusers
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Reinicie o serviço openSSH:
# service sshd restart
Configuração das permissões
Crie o grupo no S.O. conforme configuração do sshd_config:
# groupadd sftpusers
Para restringir o acesso sftp para cada conta de usuário que for criada digite os comandos abaixo:
Crie o diretório home de cada usuário, será o local onde o usuário poderá utilizar os seus arquivos:
# cd /home/usuario
# mkdir diretório
# chown usuario:sftpusers *
Lembrando que os usuários inseridos no grupo sftpuser não conseguirão adicionar e visualizar arquivos em outros diretórios, também não conseguirão acessar o servidor via ssh.
### Enviando um arquivo para o FTP
Erro: /avancado-6.42.pdf: open for write: permission denied
Erro: Transferência do arquivo falhou
Estado: Recuperando listagem do diretório de "/"...
Estado: Listing directory /
Estado: Listagem do diretório "/" bem sucedida
Se tiver alguma dica, eu ficaria muito grato...
Obrigado.
[2] Comentário enviado por cmfs em 06/07/2017 - 15:07h
Descobri o problema,
No /etc/passwd, estava configurado com /home/ftp-new/ftp...e então eu não tenho como alterar as permissões do diretoiro /ftp.
Deixei como /home/ftp-new/ ai funciona, só que o usuário pode clicar em ".." e sair do diretório /ftp.
Agora estou tentando descobrir para ele cair direto no /home/ftp-new/ftp/ e não ver nada da arvore de diretórios.
### Enviando um arquivo para o FTP
Erro: /avancado-6.42.pdf: open for write: permission denied
Erro: Transferência do arquivo falhou
Estado: Recuperando listagem do diretório de "/"...
Estado: Listing directory /
Estado: Listagem do diretório "/" bem sucedida
Se tiver alguma dica, eu ficaria muito grato...
Obrigado.
Olá!
Inseriu o usuário no grupo sftpusers dentro do arquivo /etc/group ?
Com pure-ftp eu uso a home do usuário blz.
Mas, agora usando SFTP, não consigo usar a home do usuario.
exemplo:
/etc/passwd = ftp-new:x:1011:100::/home/ftp-new/ftp/:/bin/false
Pelo pure-ftp ele cai certo dentro do /home/ftp-new/ftp/ e não consegue sair do diretório /ftp
Pelo openssh, ele cai certo dentro do /home/ftp-new/ftp/ só que consigo sair do diretório /ftp (é o que eu não quero).
E se eu alterar as permissões do /ftp ele nem conecta.
### Enviando um arquivo para o FTP
Erro: /avancado-6.42.pdf: open for write: permission denied
Erro: Transferência do arquivo falhou
Estado: Recuperando listagem do diretório de "/"...
Estado: Listing directory /
Estado: Listagem do diretório "/" bem sucedida
Se tiver alguma dica, eu ficaria muito grato...
Obrigado.
Olá!
Inseriu o usuário no grupo sftpusers dentro do arquivo /etc/group ?
Outra forma de permitir acesso ao diretório para o usuário
setfacl -m u:(usuário):rwx (/caminho do diretório)
Verificar no arquivo /etc/ssh/sshd_config se as opções estão dassa mesma forma
[6] Comentário enviado por cmfs em 07/07/2017 - 16:32h
Ele me dá o seguinte erro:
fatal: bad ownership or modes for chroot directory component "/home/ftp-new/ftp/"
## CONF
Subsystem sftp internal-sftp
Match Group sftpusers
X11Forwarding yes
ChrootDirectory %h
PermitTTY no
ForceCommand internal-sftp
AllowTcpForwarding no
Se ficar em 755 e com owner root:root eu conecto, só não consigo cria um diretório ou arquivo.