Minha solução básica para isso é criar um script que fica entre o SSH e o SFTP e altera o umask quando o usuário efetua login:
> vim /opt/sftp-server.sh
#!/bin/bash
umask 022
/usr/libexec/openssh/sftp-server
Em seguida, edite o arquivo de configuração ssh_d (/ etc / ssh / sshd_config) e edite a linha sftp SubSystem para apontar para o seu script:
Subsystem sftp /opt/sftp-server.sh
Verifique se você definiu as permissões corretamente no novo script:
> chmod 755 /opt/sftp-server.sh
Agora os arquivos enviados via SFTP devem ter as permissões 755!