Preciso configurar um servidor FTP para distribuir várias versões de um pacote de software para várias contas de usuário.
Para evitar copiar os arquivos para a pasta inicial do ftp de cada usuário, gostaria de configurar um 'ambiente de arquivo compartilhado' 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 um box 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, as perguntas são: esta é a abordagem correta? se sim, como fazê-lo funcionar, se não, qual seria a abordagem recomendada para algo assim?
Como consideração geral: pare de usar o protocolo FTP herdado para distribuição de conteúdo.
Como alternativa ao uso de links simbólicos, você pode usar uma montagem "bind" para replicar parte de seu sistema de arquivos em outro lugar, por exemplo, em uma hierarquia de diretório pessoal de usuários. As montagens de ligação não devem interferir nas estratégias de confinamento chroot.
A seguinte sintaxe é equivalente:
Crie as entradas associadas
/etc/fstab
para tornar isso persistente nas reinicializações.