Me estoy confundiendo acerca de esta configuración que estoy tratando de implementar. Espero que alguien de ustedes me pueda echar una mano: muy apreciado.
Información de fondo
El servidor es Debian 6.0, ext3, con Apache2 / SSL y Nginx en el frente como proxy inverso. Necesito proporcionar acceso sftp al directorio raíz de Apache (/ var / www), asegurándome de que el usuario sftp esté conectado a esa ruta con permisos RWX.
Todo esto sin modificar ningún permiso predeterminado en / var / www.
drwxr-xr-x  9 root root  4096 Nov  4 22:46 www
Dentro / var / www
-rw-r----- 1 www-data www-data     177 Mar 11  2012 file1
drwxr-x--- 6 www-data www-data    4096 Sep 10  2012 dir1
drwxr-xr-x 7 www-data www-data    4096 Sep 28  2012 dir2
-rw------- 1 root     root          19 Apr  6  2012 file2
-rw------- 1 root     root     3548528 Sep 28  2012 file3
drwxr-x--- 6 www-data www-data    4096 Aug 22 00:11 dir3
drwxr-x--- 5 www-data www-data    4096 Jul 15  2012 dir4
drwxr-x--- 2 www-data www-data  536576 Nov 24  2012 dir5
drwxr-x--- 2 www-data www-data    4096 Nov  5 00:00 dir6
drwxr-x--- 2 www-data www-data    4096 Nov  4 13:24 dir7
Lo que he intentado
- creó un nuevo grupo secureftp
- creó un nuevo usuario sftp, se unió a los grupos secureftp y www-data también con nologin shell. Homedir es /
- editado sshd_config con
Subsystem sftp internal-sftp AllowTcpForwarding no Match Group <secureftp> ChrootDirectory /var/www ForceCommand internal-sftp
Puedo iniciar sesión con el usuario sftp, enumerar archivos pero no se permite ninguna acción de escritura. El usuario de Sftp está en el grupo www-data pero los permisos en / var / www son read / read + x para el bit de grupo, así que ... No funciona.
También probé con ACL, pero a medida que aplico permisos ACL RWX para el usuario sftp a / var / www (directorios y archivos de forma recursiva), también cambiará los permisos de Unix, que es lo que no quiero.
Que puedo hacer aqui
Estaba pensando que podría permitir que el usuario www-data inicie sesión como sftp, para que pueda modificar los archivos / directorios que posee www-data en / var / www. Pero por alguna razón, creo que este sería un movimiento estúpido en términos de seguridad.
fuente

Respuestas:
Lo que he hecho es convertir a mis usuarios en sus directorios de inicio y luego usarlos
mount --bindpara crear un enlace en sus directorios de inicio.Luego solía
setfaclasegurarme de que loswww-datamantenedores escriben permisos en los nuevos archivos del directorio. Este efecto se repetirá/var/www, que es lo que quieres hacer.Al configurar
g+sel directorio, todos los archivos y directorios nuevos creados dentro de él heredarán la propiedad del grupo de su padre.Eso debería hacer el truco.
Haz que tus monturas sean persistentes
Obviamente, desea que sus monturas sigan allí cuando reinicie el servidor. Es tan simple como agregar las monturas a tu
/etc/fstab. No todos los proveedores le permiten tocar este archivo, pero la mayoría sí.Simplemente agregue líneas como esta:
Es posible que desee reiniciar para asegurarse de que funciona.
fuente