我在 Debian 发行版上安装了 pureFTPd,带有 mysql 数据库。我使用了以下教程。
但是现在如果我登录,我会看到我在 /Data/www/MyUserDirectory。并且我可以浏览到 /。
如何避免用户看到除指定为映射目录(及其子目录/文件)之外的任何其他目录。
我认为这叫做“FTP 用户隔离”,但我在 pureFtp 上找不到任何关于此内容的信息
我知道有 -A 选项,但我完全不知道把它放在哪里,因为脚本是通过默认的 init.d 脚本启动的
编辑:最后我错过了“echo“yes”> /etc/pure-ftpd/conf/ChrootEveryone”
答案1
您要查找的是“chroot”。用户通常能够浏览根目录之前的所有目录(因为大多数目录都对“其他”具有读取和执行权限)。Chroot 允许您更改根目录 - 这样用户就无法访问某个目录之上的内容。Pure-ftpd 有“ChrootEveryone”指令用于此目的,它将每个用户限制在他们的主目录中。
尽管 PureFTPd 不读取配置文件(它完全通过传递给它的参数进行配置),但大多数发行版都支持使用配置文件,该文件会被处理成必要的参数。脚本 (pure-config.pl) 将执行此转换,并使用正确的参数启动 PureFTPd。因此,如果您的 init 脚本使用 pure-config.pl,则只需在 pure-ftpd.conf 中设置指令(通常在 /etc/pure-ftpd 中)。如果您直接使用命令行参数,只需在启动 pure-ftpd 时将 -A 添加到命令中(或将其添加到您的 init 脚本中)。
这Pure-FTPd 常见问题解答详细介绍设置和可用的变化。