¿Cómo configuro los permisos predeterminados para SFTP para un servidor Ubuntu?

16

Tenemos un servidor Ubuntu 10.04. ¿Cómo puedo configurarlo para que los nuevos archivos creados (o copiados) a través de SFTP o SSH tengan permisos g + rw y g + rwx (cuando corresponda)?

También estoy usando setgid (chmod g + s) para que hereden el propietario del grupo adecuado.

wag2639
fuente

Respuestas:

12

En / etc / ssh / sshd_config, puede pasar un indicador y un valor en (-u 0002) como el siguiente para establecer el valor de umask:

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

Agregue -u 0002 a la línea sftp del subsistema existente del archivo de configuración.

Luego, deberá reiniciar ssh para que los cambios surtan efecto:

service ssh restart
dominó
fuente
Esto solo se aplica a las versiones más recientes de OpenSSH, pero debería ser la solución preferida siempre que sea posible.
Andrew B
2
Esto solo funciona si necesita permisos más restrictivos que los establecidos por el cliente, no más flexibles.
Joost
Como dijo Joost, esto no ayuda a forzar los permisos de escritura grupal. Ayudaría a prohibir la escritura grupal.
vuelo
Según la documentación reciente, se pueden usar las mismas opciones Subsystem sftp internal-sftp.
underscore_d
10

En / etc / ssh / sshd_config, cambie lo siguiente:

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

a:

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
fuente
1
Es mejor poner un execantes de la final /usr/.../sftp-server, para que no tenga shprocesos inútiles por ahí.
user1686
Además, un umask es solo un número; 0002se puede escribir más corto como 02.
user1686
Pensé que umask era un octal, pero gracias por la parte ejecutiva.
wag2639
2
Sí, las máscaras son octales. Eso no significa que necesite tres ceros a la izquierda: uno es suficiente. (De hecho, el umaskcomando no necesita ningún ceros a la izquierda, se lee siempre el argumento como un número octal.) ... Pero en el segundo pensamiento, tal vez 0002es más claro de entender.
user1686
2
Esto no funciona para mi. No aplicará el permiso de g + w.
vuelo