Eu tenho um servidor SFTP (openssh / sftp-server) e gostaria de definir umask 002 para usuários que usam este serviço. Tentei configurar o PAM (pam.d / common-session) e o .profile para cada usuário, mas sem sorte.
Com o login SSH, tudo está bem, mas quando tento com SFTP (com gFTP), tenho o 022 umask definido.
Eu já tentei usar um invólucro para o servidor sftp que está alterando o umask antes de chamar o servidor sftp, sem sorte.
Qualquer ajuda? Muito obrigado!
Subsystem sftp /bin/sh -c 'umask 0002; /usr/lib/openssh/sftp-server'
Espero que isso possa salvar horas de frustração de outra pessoa ...
Se você estiver usando um aplicativo GUI SFTP, verifique suas preferências para definir permissões no upload.
Eu tinha tentado todas as soluções acima, e o aplicativo acabou de substituí-las.
fonte
Depois de muitas horas tentando aplicar vários hacks e correções, encontrei uma solução adequada!
Há um patch para SSH que permite escolher o umask que você deseja para o SFTP. Você pode baixá-lo aqui: http://sftpfilecontrol.sourceforge.net/
Para mim (OpenSSH_5.2p1 + sftpfilecontrol-v1.3, OpenSSL 0.9.8g 19 de outubro de 2007) está funcionando perfeitamente!
fonte
No arquivo de configuração ssh, você também pode usar isso para definir o modo do arquivo especificamente (substituindo qualquer chmod que o cliente possa tentar configurar). Aqui estou usando internal-sftp, mas acho que seria o mesmo para sftp-server:
fonte
Para citar esta mensagem :
O Bash usa os
.profile
shells de login interativo. Eu não acho quesftp
conta como um. Você pode definir o umask/etc/bash.bashrc
ou~/.bashrc
se a dica acima não funcionar ou se desejar um controle mais refinado.fonte
Consulte esta pergunta para encontrar uma solução simples que não exija versões específicas do openssh nem patches personalizados.
fonte