Antecedentes
Este é um problema permanente de sftp
e compartilhamento de arquivos. Isso ocorre porque as permissões resultantes são baseadas na permissão original do arquivo no lado do usuário e o argumento umask ( -u
) não está forçando essas permissões, mas apenas removendo as permissões indesejadas. Isso significa que somente se o usuário tentar carregar o arquivo com permissão 0777
, ele será aplicado e desclassificado para 0775
. Caso contrário, é apenas deixado como estava. Por exemplo, se o usuário tiver um arquivo armazenado em seu sistema de arquivos com permissão 0700
, ele também aparecerá após o upload como 0700
.
Solução
Recentemente, resolvemos esse problema no Fedora aplicando o patch que está forçando a permissão exata dos novos arquivos enviados, que é baseado neste:
Isso estará disponível no CentOS em poucos meses, não tenho certeza sobre o debian.
Solução alternativa
Não há outra solução elegante, exceto algum script de execução periódica (de cron
), que está corrigindo as permissões erradas. Seria um one-liner no bash, mas eu acho que você pode pensar em alguns. Eu posso elaborar mais sobre isso se você estiver interessado.