4 min de leitura · Guia técnico
Definir e validar o limite de upload via SFTP no VPS Linux é essencial para evitar abusos, proteger o servidor e controlar o uso de recursos. Este checklist prático mostra como aplicar e testar limites de upload para usuários SFTP, garantindo uma hospedagem mais segura e eficiente.
Pré-requisitos
- Acesso root ou sudo ao VPS Linux (Ubuntu 22.04, Debian 11 ou CentOS 8 suportados)
- OpenSSH Server instalado e configurado
- Usuários SFTP já criados
- Backup dos arquivos de configuração antes de alterações críticas
1. Entendendo o Limite de Upload via SFTP
O SFTP, por padrão, não possui diretiva nativa para limite de upload por usuário. O controle pode ser feito combinando permissões de sistema de arquivos, cotas de disco e restrições de grupo. Isso impede que usuários ultrapassem o espaço ou tamanho de arquivos definidos.
2. Checklist de Configuração do Limite de Upload via SFTP
- Crie ou selecione o grupo de usuários SFTP
sudo groupadd sftpusersAdicione o usuário desejado ao grupo:
sudo usermod -aG sftpusers usuario - Configure o diretório de uploads
Defina um diretório exclusivo para uploads SFTP:
sudo mkdir -p /home/sftp/uploads sudo chown root:sftpusers /home/sftp/uploads sudo chmod 770 /home/sftp/uploads - Implemente cotas de disco para limitar uploads
Habilite cotas no sistema de arquivos (exemplo para ext4):
sudo apt install quota sudo mount -o remount,usrquota,grpquota /homeEdite o
/etc/fstabpara manter as cotas após reboot:/dev/sda1 /home ext4 defaults,usrquota,grpquota 0 2Inicialize as cotas:
sudo quotacheck -cum /home sudo quotaon /homeDefina o limite para o usuário:
sudo edquota -u usuarioConfigure o bloco "blocks" para limitar o espaço total de upload.
- Restrinja o acesso do usuário ao SFTP (chroot)
Edite o arquivo
/etc/ssh/sshd_confige adicione:Match Group sftpusers ChrootDirectory /home/sftp ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding noReinicie o SSH:
sudo systemctl restart sshd
3. Checklist de Testes do Limite de Upload via SFTP
- Teste com arquivo dentro do limite
Conecte via SFTP e envie um arquivo menor que o limite definido. O upload deve ser concluído sem erros.
sftp usuario@ip_do_servidor put arquivo_pequeno.zip - Teste com arquivo acima do limite
Tente enviar um arquivo maior que o limite. O upload deve falhar com erro de "quota exceeded".
put arquivo_grande.zip - Valide a mensagem de erro
Confirme que a mensagem corresponde ao bloqueio por cota. Exemplo:
Couldn't write to remote file: Disk quota exceeded
4. Ajustando e Monitorando Limites
- Para ajustar o limite, execute novamente
edquota -u usuarioe altere os valores. - Verifique o uso atual de cota do usuário:
quota -u usuario
- Considere monitorar uploads com ferramentas como
logwatchouauditdpara auditoria.
Problemas comuns
- Sintoma: Usuário consegue enviar arquivos acima do limite.
Causa: Cotas não habilitadas corretamente ou diretório de upload fora do sistema de arquivos com cota.
Solução: Confirme se o diretório está sob /home e se as cotas estão ativas (quotaon). - Sintoma: Erro de permissão ao tentar acessar o diretório.
Causa: Permissões ou chown incorretos no diretório.
Solução: Ajuste permissões e grupo conforme o passo 2. - Sintoma: Mensagem "Operation not permitted" ao conectar.
Causa: ChrootDirectory não pertence ao root.
Solução: O diretório definido em ChrootDirectory deve ser de propriedade root.
Resumo
- Limitar uploads via SFTP depende da configuração de cotas de disco e permissões.
- Testes práticos garantem que o limite está ativo e funcional para cada usuário.
- Monitoramento contínuo evita abusos e mantém a performance do VPS Linux.
Precisa de ajuda com limite de upload via SFTP no VPS Linux?
Conte com a AviraHost para configurar, testar e monitorar limites de upload em servidores Linux, garantindo segurança e estabilidade para seus projetos.