Isso é comum sempre verde para sftp
. De SuperUser :
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 de 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.
Debian?
Para sistemas baseados em debian, provavelmente há solução alternativa usando bindfs
: Basicamente, ele monta um diretório em outro e você pode forçar todas as permissões a se comportar da maneira que desejar.