“合并”多个 FTP 目录,使它们显示为一个

“合并”多个 FTP 目录,使它们显示为一个

我拥有一个允许用户上传文件的网站。我的文件也放在上面,但我不想把他们的文件和我的文件混在一起,以防有人上传一堆恶意文件,需要批量删除。我不用一个个地追查他们,而是直接删除他们的用户文件夹,然后他们就会从网站上消失,但其他用户的文件和我的文件都会保留下来。

现在问题来了,我想让用户浏览网站上的目录,但它会显示所有文件,包括我的和用户的文件,就好像它们包含在一个目录中一样。所以我使用 PHP 来做到这一点,然后只向用户显示它,它工作正常。

问题是,我想允许用户使用 FTP 浏览它们,就像它们也是 1 个目录一样。当然这不可能实现,因为 FTP 只查看我告诉它的文件夹。第一个想法是符号链接,但我使用的是 VSFTPD,显然它不支持符号链接。我打算编写一个脚本,每天更新并创建一种“伪目录”,其中所有内容都将组合为符号链接。这样,至少链接会在同一个文件夹中,而不会真正改变文件夹布局的实际限制。我只会使用 python 或其他东西,但鉴于我不能使用符号链接,这似乎也不是一种选择。

为了让您了解一些背景信息,下面是我的文件所在的位置: /drives/ares/webroot/mywebsite/files/SOMEFOLDER/SOMEFILE.txt

用户文件的构造方式如下 /drives/ares/webroot/mywebsite/users/SOMEUSERNAME/files/SOMEFOLDER/SOMEFILE.txt

对于网站,我使用 PHP 递归遍历每个用户,如果用户文件夹包含“SOMEFOLDER”,它将读取其中的所有文件并将其与另一个“SOMEFOLDER”(我的文件)中的文件一起显示。这很难解释,但我基本上只是将大量目录组合在一起,以便它们在我的网站上显示为 1 个,以便于浏览。我现在正尝试使用 FTP 做同样的事情,但由于 FTP 非常简单,我很难找到解决方案。有人知道我如何实现这一点吗?感谢您的帮助,抱歉这个问题太宽泛了,但我已经为这个问题绞尽脑汁了一段时间。

PS:我使用的是 Arch Linux

相关内容