Comment définir les autorisations par défaut pour SFTP pour un serveur Ubuntu?

16

Nous avons un serveur Ubuntu 10.04. Comment puis-je le configurer pour que les nouveaux fichiers créés (ou copiés) via SFTP ou SSH disposent des autorisations g + rw et g + rwx (le cas échéant)?

J'utilise également setgid (chmod g + s) afin qu'ils héritent du propriétaire du groupe approprié.

wag2639
la source

Réponses:

12

Dans / etc / ssh / sshd_config, vous pouvez passer un indicateur et une valeur dans (-u 0002) comme suit pour définir la valeur umask:

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

Ajoutez -u 0002 à la ligne sftp Subsystem existante du fichier de configuration.

Ensuite, vous devrez redémarrer ssh pour que les modifications prennent effet:

service ssh restart
Domino
la source
Cela ne s'applique qu'aux versions plus récentes d'OpenSSH, mais devrait être la solution préférée dans la mesure du possible.
Andrew B
2
Cela ne fonctionne que si vous avez besoin d'autorisations plus restrictives que celles définies par le client, pas plus lâches.
Joost
Comme l'a dit Joost, cela n'aide pas à forcer les autorisations d'écriture de groupe. J'aiderais à interdire l'écriture de groupe.
vol du
Selon la documentation récente, les mêmes options peuvent être utilisées avec Subsystem sftp internal-sftp.
underscore_d
10

Dans / etc / ssh / sshd_config, modifiez ce qui suit:

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

à:

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
la source
1
Il est préférable de mettre un execavant la finale /usr/.../sftp-server, afin que vous n'ayez pas de shprocessus inutiles .
user1686
De plus, un umask n'est qu'un nombre; 0002peut être écrit plus court comme 02.
user1686
Je pensais que umask était un octal, mais merci pour la partie exécutive.
wag2639
2
Oui, les umasks sont octaux. Cela ne signifie pas que vous avez besoin de trois zéros en tête - un suffit. (En fait, la umaskcommande n'a pas besoin de zéros en tête, elle lit toujours l'argument comme un nombre octal.) ... Mais à la seconde réflexion, peut 0002- être est-il plus clair à comprendre.
user1686
2
Ça ne marche pas pour moi. Il n'appliquera pas l'autorisation g + w.
vol du