SFTP - Limitando acesso por usuário
Dica publicada em Linux / Introdução
SFTP - Limitando acesso por usuário
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:
E adicione o conteúdo abaixo ao final do arquivo:
Reinicie o serviço openSSH:
# service sshd restart
# groupadd sftpusers
Para restringir o acesso sftp para cada conta de usuário que for criada digite os comandos abaixo:
# usermod -G sftpusers usuario
# chown root:root /home/usuario
# chmod 755 /home/usuário
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.
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
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:
# usermod -G sftpusers usuario
# chown root:root /home/usuario
# chmod 755 /home/usuário
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.
Executei exatamente como manda o teu tutorial...
Mas, se eu tento criar um diretório ou enviar um arquivo ele me da os seguintes erros:
### Criando um diretório
Erro: mkdir /docs: permission denied
Comando: mkdir "/docs"
### 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.