Servidor FTP para distribución de contenidos

Servidor FTP para distribución de contenidos

Necesito configurar un servidor FTP para distribuir varias versiones de un paquete de software a varias cuentas de usuario.

Para evitar copiar los archivos a la carpeta de inicio ftp de cada usuario, me gustaría configurar un 'entorno de archivos compartidos' con enlaces simbólicos usando una estructura muy parecida a esta:

/
...
+-- srv
    +-- ftp
        +-- data
            +-- V1
                +-- Latest            -> /srv/ftp/data/V1/V1.3
                +-- V1.1
                +-- V1.2
                +-- V1.3
            +-- V2
                +-- Latest            -> /srv/ftp/data/V2/V2.2
                +-- V2.1
                +-- V2.2
            +-- V3
                +-- Latest            -> /srv/ftp/data/V3/V3.1
                +-- V3.1
        +-- users
            +-- user1
                +-- V3                -> /srv/ftp/data/V3/Latest
            +-- user2
                +-- V2                -> /srv/ftp/data/V2/Latest
            +-- user3

Cada versión es una carpeta con varios archivos y subcarpetas.

Estoy usando una máquina Linux (CentOS 7) con vsftpd; mi problema surge cuando intento limitar el acceso del usuario a su carpeta de inicio; el servidor no permitirá seguir el enlace fuera de la carpeta del usuario.

Por ejemplo, me gustaría que el usuario1 vea solo la carpeta V3 y su contenido (con subcarpetas).

Entonces la pregunta es: ¿es este el enfoque correcto? En caso afirmativo, ¿cómo hacer que funcione? En caso contrario, ¿cuál sería el enfoque recomendado para algo como esto?

Respuesta1

Como consideración general: deje de utilizar el protocolo FTP heredado para la distribución de contenidos.


Como alternativa al uso de enlaces simbólicos, puede utilizar unmontaje "unido"para replicar parte de su sistema de archivos en otro lugar, por ejemplo, en la jerarquía de directorios personales de un usuario. Los montajes vinculados no deberían interferir con las estrategias de confinamiento de chroot.

La siguiente sintaxis es equivalente:

mount --bind /srv/ftp/data/V3/Latest /srv/ftp/users/user1/V3
mount -o bind srv/ftp/data/V2/Latest /srv/ftp//users/user2/V2

Cree las entradas asociadas /etc/fstabpara que sean persistentes durante los reinicios.

información relacionada