Como definir permissões padrão para SFTP para um servidor Ubuntu?

16

Temos um servidor Ubuntu 10.04. Como posso configurá-lo para que novos arquivos criados (ou copiados) sobre SFTP ou SSH tenham permissões g + rw e g + rwx (quando apropriado)?

Também estou usando setgid (chmod g + s) para que eles herdem o proprietário do grupo apropriado.

wag2639
fonte

Respostas:

12

Em / etc / ssh / sshd_config, você pode passar um sinalizador e um valor em (-u 0002) como o seguinte para definir o valor umask:

Subsystem sftp /usr/lib/openssh/sftp-server -u 0002

Anexe -u 0002 à linha sftp do subsistema existente do arquivo de configuração.

Posteriormente, você precisará reiniciar o ssh para que as alterações entrem em vigor:

service ssh restart
Dominó
fonte
Isso se aplica apenas às versões mais recentes do OpenSSH, mas deve ser a solução preferida sempre que possível.
Andrew B
2
Isso funciona apenas se você precisar de permissões mais restritivas do que as definidas pelo cliente, e não mais soltas.
Joost
Como Joost disse, isso não ajuda a forçar permissões de gravação em grupo. Eu ajudaria a proibir a gravação em grupo.
vôo
De acordo com a documentação recente, as mesmas opções podem ser usadas com Subsystem sftp internal-sftp.
Underscore_d
10

Em / etc / ssh / sshd_config, altere o seguinte:

Subsystem sftp /usr/lib/openssh/sftp-server

para:

Subsystem sftp /bin/sh -c 'umask 0002; exec /usr/libexec/openssh/sftp-server'

Soure: http://jeff.robbins.ws/articles/setting-the-umask-for-sftp-transactions

wag2639
fonte
11
É melhor colocar um execantes da final /usr/.../sftp-server, para que você não tenha shprocessos inúteis por aí.
user1686
Além disso, uma umask é apenas um número; 0002pode ser escrito mais curto como 02.
user1686
Eu pensei que umask era um octal, mas obrigado pela parte executiva.
wag2639
2
Sim, umasks são octais. Isso não significa que você precisa de três zeros à esquerda - um é suficiente. (Na verdade, o umaskcomando não precisa de quaisquer zeros à esquerda, ele sempre lê o argumento como um número octal.) ... Mas no segundo pensamento, talvez 0002seja mais claro para entender.
user1686
2
Isso não funciona para mim. Não aplicará a permissão g + w.
vôo