我需要设置一个 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 box(CentOS 7);当我试图限制用户访问他的主文件夹时,我的问题就来了;服务器将不允许访问用户文件夹之外的链接。
例如,我希望 user1 只看到 V3 文件夹及其内容(带有子文件夹)
所以问题是:这是正确的方法吗?如果是,如何让它工作,如果不是,对于这样的事情推荐的方法是什么?
作为一般考虑:停止使用旧版 FTP 协议进行内容分发。
作为使用符号链接的替代方法,您可以使用“绑定”挂载将文件系统的一部分复制到其他地方,例如在用户的个人目录层次结构中。绑定安装不应干扰 chroot 限制策略。
以下语法是等效的:
在中创建关联的条目
/etc/fstab
以使其在重新启动后保持不变。