Introdução
Criar um servidor
SFTP (
Secure File Transfer Protocol) é uma tarefa fundamental para aqueles que desejam transferir arquivos de forma segura entre diferentes sistemas. Neste guia, vamos detalhar passo a passo como configurar um servidor SFTP em sistemas baseados em Debian, utilizando o usuário root. Iremos desde a instalação dos pacotes necessários até a configuração dos diretórios e permissões para os usuários.
Preparação
Primeiramente, é necessário garantir que você está operando como o usuário root, pois todas as ações descritas aqui requerem permissões administrativas. Você pode se tornar root usando um dos seguintes comandos:
sudo -i
ou
su - root
ou ainda prefixando os comandos com
sudo.
Instalação do OpenSSH Server
Para começar, precisamos instalar o servidor
OpenSSH, que inclui o suporte para SFTP. Em sistemas baseados em Debian, execute o seguinte comando:
# apt install openssh-server
Criação dos Diretórios
Agora, vamos criar a estrutura de diretórios necessária para o SFTP. Usaremos o comando
mkdir para isso:
# mkdir /sftp # Cria o diretório sftp dentro do diretório raiz (/).
# cd /sftp # Navega até o diretório sftp.
# mkdir user01 user02 user03 # Cria 3 diretórios dentro do diretório /sftp.
Observação: O proprietário desses diretórios deve ser o usuário root, caso contrário, o SFTP não funcionará corretamente.
Criação dos Usuários
Em seguida, precisamos criar os usuários que terão acesso ao SFTP. Estes usuários não necessitam de diretórios home ou grupos adicionais. Para isso, use os seguintes comandos:
# useradd luciano -s /bin/false # Cria o usuário luciano.
# useradd danilo -s /bin/false # Cria o usuário danilo.
# useradd ney -s /bin/false # Cria o usuário ney.
Definindo Senhas para os Usuários
Definir senhas para os usuários é crucial para a segurança. Execute os comandos abaixo para criar senhas para cada usuário:
# passwd luciano
# passwd danilo
# passwd ney
Criação dos Diretórios de Usuários
Agora, vamos criar os diretórios específicos para cada usuário dentro de seus respectivos diretórios. Isso é feito da seguinte forma:
# cd /sftp # Navega até o diretório sftp.
# mkdir user01/luciano # Cria o diretório "luciano" dentro do diretório user01.
# mkdir user02/danilo # Cria o diretório "danilo" dentro do diretório user02.
# mkdir user03/ney # Cria o diretório "ney" dentro do diretório user03.
Observação: Os diretórios user01, user02 e user03 não serão diretamente acessados pelos usuários do SFTP.
Ajustando Permissões dos Diretórios
Precisamos agora ajustar as permissões para que cada diretório de usuário pertença ao respectivo usuário:
# cd /sftp # Navega até o diretório sftp.
# chown luciano:luciano user01/luciano # Muda o dono do diretório para luciano.
# chown danilo:danilo user02/danilo # Muda o dono do diretório para danilo.
# chown ney:ney user03/ney # Muda o dono do diretório para ney.
Observações:
- Aqui, mudamos tanto o proprietário quanto o grupo do diretório.
- Somente o diretório final (por exemplo, user01/luciano) deve pertencer ao usuário.
Editando o Arquivo de Configurações do SFTP
Abra o arquivo de configuração do SSH com seu editor de texto preferido:
# vim /etc/ssh/sshd_config
Adicionando Configurações ao Arquivo
No final do arquivo
/etc/ssh/sshd_config, abaixo do comentário
# override default of no subsystems, adicione as seguintes linhas:
Subsystem sftp /usr/lib/openssh/sftp-server
Match User luciano # Usuário sftp.
ChrootDirectory /sftp/user01 # Diretório que será carregado ao logar.
X11Forwarding no
AllowTcpForwarding no
PermitTTY no
ForceCommand internal-sftp
Match User danilo # Usuário sftp.
ChrootDirectory /sftp/user02 # Diretório que será carregado ao logar.
X11Forwarding no
AllowTcpForwarding no
PermitTTY no
ForceCommand internal-sftp
Match User ney # Usuário sftp.
ChrootDirectory /sftp/user03 # Diretório que será carregado ao logar.
X11Forwarding no
AllowTcpForwarding no
PermitTTY no
ForceCommand internal-sftp
Finalizando
Para aplicar as alterações feitas na configuração do SSH, reinicie o serviço SSH com o comando:
# systemctl restart sshd # Ou service sshd restart
Conclusão
Configurar um servidor SFTP seguro envolve vários passos, desde a instalação do software necessário até a configuração de diretórios e permissões apropriadas. Este guia detalhou cada um desses passos de maneira clara e didática. Agradeço à comunidade
Linux pelo suporte contínuo e a todos que contribuíram para o meu aprendizado. Espero que este guia seja útil para você. Se houver dúvidas, sinta-se à vontade para buscar mais informações e continuar aprendendo.
Agradecimentos
Sou apenas uma pessoa normal que dedicou um tempo estudando Linux. Tudo que aprendi não foi sozinho; tive muita ajuda, tanto diretamente quanto indiretamente. Agradeço à comunidade Linux por compartilhar conhecimento, aos meus amigos pelo apoio, à minha família por sempre estar comigo, e a você que está lendo, pois graças a você, tudo que digitei não está perdido no limbo.
1. Introdução