我有2个文件夹:
/var/www/project1/
/var/www/repository/module/
我有这个符号链接:
/var/www/project1/module/News
=>/var/www/repository/module/News
我知道目标在 ftp 根文件夹之外。但我想让 proFTPd 能够显示并跟踪该符号链接。安全性不是问题,我们在本地网络上使用该 FTP 仅用于开发目的。
附言:我也用管理控制台,我使用 默认安装了所有内容apt-get install
。
答案1
如果有人仍在寻找答案,可以从 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
相同的技术也可用于目录,目录也可在 chroot() 环境中运行。此外,除目录外,还应能够以这种方式挂载特定文件(在 Unix 中,目录只是另一个文件)。
和往常一样,您可以通过查阅适用于您平台的相应命令的手册页来找到更多信息。其他 Unix 版本的命令将根据需要添加。
为了使这些技巧持续有效,在系统重启后仍能继续使用,/etc/fstab(或 /etc/vfstab)文件可能需要添加这些挂载。请参阅您当地的 fstab(5)(或 Solaris 的 vfstab(4))手册页以获取更多信息。
答案2
我认为您必须使 DefaultRoot 路径更宽松,我担心 proftpd 无法处理此 chroot jail 之外的符号链接。因此基本上您可以进行符号链接,但只能在 DefaultRoot 文件夹内进行。