我有一个 VSFTPD 设置,其中用户被 chroot 到他们的主目录。标准的东西。但这要求他们所有的主目录对他们来说都是不可写的(以避免安全问题)。没问题,如果他们想要上传文件,他们可以将它们上传到他们的 chroot 中的可写文件夹。
但是现在他们每次上传都必须更改到该文件夹中。如果我使用 VSFTPD 配置文件中的 local_root 选项将他们的默认登录位置移动到该可写文件夹,那么这将成为他们的 chroot,我们回到第一个问题:它不能是可写的。
我的问题是,如何在不使 chroot 目录本身可写的情况下,将 VSFTPD 放置用户的默认位置移动到其 chroot 监狱中的可写目录?
只有一种方法可以使用 vsftpd 执行此操作,并且必须在系统 passwd 文件中设置路径。无法在 vsftpd.conf 文件中设置路径。
在 /etc/vsftpd.conf 文件中,设置以下两个选项:
您还必须更改用户的 unix 主目录以指示 chroot jail 的根目录。chroot jail root 将位于
/./
主目录路径左侧的路径。即/ftphome/./home/user/
会将chroot 监狱设置为/ftphome/
用户目录所在的监狱home/user
。您可以通过执行以下操作来做到这一点:显然,里面的 chroot 目录和用户目录应该按照正常的 chroot 准备设置。