← SFTP: transferências e operação batch
02 / 12 · 40 MIN

Permissões e isolamento

Combina políticas SSH, chroot e permissões sem conceder acesso excessivo.

Conceito e mecanismo

Autenticação bem-sucedida não concede acesso irrestrito aos ficheiros. A conta precisa de permissões para percorrer diretórios e executar a operação pretendida. Leitura no ficheiro final não resolve falta de pesquisa num diretório ancestral. O subsystem pode acrescentar outras restrições: sftp-server em modo read-only recusa alterações mesmo quando o filesystem permitiria escrita. Em OpenSSH, ChrootDirectory exige componentes do caminho pertencentes a root e sem escrita para grupo ou outros. Dar a raiz do chroot ao parceiro pode impedir a sessão de arrancar. Separa essa raiz protegida de uma subpasta onde a conta tenha a escrita estritamente necessária.

Aplicação guiada

StrictModes não elimina as verificações obrigatórias do chroot. ForceCommand internal-sftp também não desativa por si forwarding TCP, agente ou outros canais; revê essas capacidades separadamente. Para novos ficheiros, a umask remove bits do modo pedido. No exemplo com 0666 e máscara 0027, obtém-se 0640, assumindo ausência de ACL e de alterações posteriores por preservação ou chmod. Não generalizes esse resultado a todas as ferramentas. Num caso de upload recusado, identifica política, caminho, dono e permissões efetivas antes de propor alterações. Evita permissões globais como resposta automática: podem violar o isolamento e ocultar a verdadeira causa da falha observada.

NA PRÁTICA

Raiz do chroot protegida; subpasta de entrega com escrita autorizada.

Armadilhas comuns

Autenticação como autorização; StrictModes como bypass; comando forçado como todos os canais; umask como modo final direto.

Tópicos relacionados: Transporte e confiança no servidor · Batch e falhas observáveis · Publicação e retoma de ficheiros

Leva esta ideia contigo

Avalia os controlos em conjunto e altera apenas o âmbito necessário.

Criar conta

Referência: OpenSSH daemon configuration · DR SFTP 2026-09; selected OpenSSH client, server and extension behavior