FTP-сервер для распространения контента

FTP-сервер для распространения контента

Мне необходимо настроить FTP-сервер для распространения различных версий программного пакета среди нескольких учетных записей пользователей.

Чтобы избежать копирования файлов в домашнюю папку FTP каждого пользователя, я хотел бы настроить «общую файловую среду» с символическими ссылками, используя примерно такую ​​структуру:

/
...
+-- 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

Каждая версия представляет собой папку с несколькими файлами и подпапками.

Я использую Linux-компьютер (CentOS 7) с vsftpd. Проблема возникает, когда я пытаюсь ограничить доступ пользователя к его домашней папке. Сервер не позволяет перейти по ссылке за пределами папки пользователя.

Например, я бы хотел, чтобы пользователь user1 видел только папку V3 и ее содержимое (с подпапками).

Итак, вопрос: правильный ли это подход? Если да, то как заставить его работать, если нет, то какой подход можно рекомендовать для чего-то подобного?

решение1

В качестве общего соображения: прекратите использовать устаревший протокол FTP для распространения контента.


В качестве альтернативы использованию символических ссылок вы можете использовать"привязать" креплениедля репликации части вашей файловой системы в другом месте, например, в иерархии личных каталогов пользователей. Связанные монтирования не должны мешать стратегиям ограничения chroot.

Следующий синтаксис эквивалентен:

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

Создайте соответствующие записи, /etc/fstabчтобы они сохранялись при перезагрузках.

Связанный контент