Servidor FTP para distribuição de conteúdo

Servidor FTP para distribuição de conteúdo

Preciso configurar um servidor FTP para distribuir diversas versões de um pacote de software para diversas contas de usuário.

Para evitar a cópia dos arquivos para a pasta inicial do FTP de cada usuário, gostaria de configurar um 'ambiente de arquivos compartilhados' com links simbólicos usando uma estrutura semelhante 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 versão é uma pasta com vários arquivos e subpastas.

Estou usando uma caixa Linux (CentOS 7) com vsftpd; meu problema surge quando tento limitar o acesso do usuário à sua pasta pessoal; o servidor não permitirá seguir o link fora da pasta do usuário.

Por exemplo, gostaria que o usuário1 visse apenas a pasta V3 e seu conteúdo (com subpastas)

Portanto, a questão é: esta é a abordagem correta? se sim, como fazê-lo funcionar; caso contrário, qual seria a abordagem recomendada para algo assim?

Responder1

Como consideração geral: pare de usar o protocolo FTP legado para distribuição de conteúdo.


Como alternativa ao uso de links simbólicos, você pode usar ummontagem "vincular"para replicar parte do seu sistema de arquivos em outro lugar, por exemplo, na hierarquia de diretórios pessoais de um usuário. As montagens de ligação não devem interferir nas estratégias de confinamento do chroot.

A seguinte sintaxe é 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

Crie as entradas associadas /etc/fstabpara tornar isso persistente nas reinicializações.

informação relacionada