Tengo un servidor SFTP (openssh / sftp-server) y me gustaría configurar umask 002 para los usuarios que usan este servicio. Intenté configurar PAM (pam.d / common-session) y .profile para cada usuario, pero no tuve suerte.
Con el inicio de sesión SSH todo está bien, pero cuando lo intento con SFTP (con gFTP) tengo el 022 umask configurado.
Ya intenté usar un contenedor para sftp-server que está cambiando la umask antes de llamar al sftp-server, no tuve suerte.
¿Alguna ayuda? ¡Muchas gracias!
Subsystem sftp /bin/sh -c 'umask 0002; /usr/lib/openssh/sftp-server'
Espero que esto pueda salvar a alguien más horas de frustración ...
Si está utilizando una aplicación GUI SFTP, verifique sus preferencias para configurar permisos en la carga.
Había probado todas las soluciones anteriores, y resulta que la aplicación las estaba anulando.
fuente
¡Después de muchas horas tratando de aplicar varios hacks y soluciones, he encontrado una solución adecuada!
Hay un parche para SSH que le permite elegir la umask que desea para SFTP. Puede descargarlo aquí: http://sftpfilecontrol.sourceforge.net/
Para mí (OpenSSH_5.2p1 + sftpfilecontrol-v1.3, OpenSSL 0.9.8g 19 oct 2007) ¡funciona perfectamente!
fuente
En el archivo de configuración ssh también puede usar esto para establecer el modo del archivo específicamente (anulando cualquier chmod que el cliente pueda intentar configurar). Aquí estoy usando internal-sftp pero supongo que sería lo mismo para sftp-server:
fuente
Para citar este mensaje :
Bash usa
.profile
para shells de inicio de sesión interactivos. No creo quesftp
cuente como uno. Es posible que pueda configurar la umask/etc/bash.bashrc
o~/.bashrc
si la sugerencia anterior no funciona o si desea un control más detallado.fuente
Consulte esta pregunta para encontrar una solución simple que no requiera versiones específicas de openssh ni parches personalizados.
fuente