用于内容分发的 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

每个版本都是一个包含多个文件和子文件夹的文件夹。

我正在使用带有 vsftpd 的 Linux 机器(CentOS 7);当我尝试限制用户访问他的主文件夹时出现了问题;服务器不允许跟踪用户文件夹之外的链接。

例如,我希望用户 1 仅看到 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以使其在重启后仍然存在。

相关内容