需要 ProFTPd 跟随符号链接

FMa*_*008 5 ftp chroot symbolic-link

我有2个文件夹:

/var/www/project1/
/var/www/repository/module/
Run Code Online (Sandbox Code Playgroud)

我有这个符号链接:

/var/www/project1/module/News => /var/www/repository/module/News

我知道目标在 ftp 根文件夹之外。但我想让 proFTPd 能够显示&跟随那个符号链接。安全不是问题,我们在本地网络上使用该 FTP 仅用于开发目的。


Ps.:我也使用GADMIN-PROFTPD,默认情况下我安装了所有东西,使用apt-get install.

小智 8

如果有人仍在寻找答案,请参考 Proftpd 的文档:

文件系统技巧 一个典型的场景是使用“DefaultRoot ~”将用户限制在他们的主目录中,并且管理员希望在每个用户的主目录中有一个共享的上传目录,比如 /var/ftp/incoming。符号链接通常用于提供这样的安排。但是,如上所述,当使用 chroot(2) 时(这是 DefaultRoot 指令所做的),指向新根目录(在本例中为用户的主目录)之外的符号链接将不起作用。为了解决这个明显的限制,现代操作系统可以在文件系统的多个位置挂载目录。

要获得 /home/bob/incoming 和 /home/dave/incoming 中可用的 /var/ftp/incoming 目录的完全副本,请使用以下命令之一:

Linux (as of the 2.4.0 kernel):

  mount --bind /var/ftp/incoming /home/bob/incoming
  mount --bind /var/ftp/incoming /home/dave/incoming

or, alternatively:

  mount -o bind /var/ftp/incoming /home/bob/incoming
  mount -o bind /var/ftp/incoming /home/dave/incoming

BSD (as of 4.4BSD):

  mount_null /var/ftp/incoming /home/bob/incoming
  mount_null /var/ftp/incoming /home/dave/incoming

Solaris:

  mount -F lofs /var/ftp/incoming /home/bob/incoming
  mount -F lofs /var/ftp/incoming /home/dave/incoming
Run Code Online (Sandbox Code Playgroud)

相同的技术可用于目录,这些目录也在 chroot()ed 环境中运行。此外,应该可以通过这种方式挂载特定文件,除了目录之外,如果需要的话(目录只是 Unix 中的另一个文件)。

像往常一样,可以通过查阅手册页了解适用于您平台的相应命令来找到更多信息。其他 Unix 版本的命令将根据需要添加。

为了让这些技巧持续存在,为了在系统重启后幸免于难,/etc/fstab(或 /etc/vfstab)文件可能需要添加这些挂载。有关更多信息,请查阅您当地的 fstab(5)(或 vfstab(4) for Solaris)手册页。


Ira*_*ian 6

我认为你必须使 DefaultRoot 路径更加宽松,恐怕 proftpd 无法处理此 chroot 监狱之外的符号链接。所以基本上你可以进行符号链接,但只能在 DefaultRoot 文件夹内。