我安装了 vsFTPd 来运行 FTP 服务器Debian 7.3(喘息)。我检查了 vsFTPd 版本2.3.5,我将其配置如下:
listen=YES
local_enable=YES
write_enable=YES
chroot_local_user=YES
pasv_min_port=15000
pasv_max_port=15200
allow_writeable_chroot=YES
我按照这些文章来解决这个问题:
并且在 Google 和论坛上还有许多其他人,但我的问题没有解决。
注意:我已经解决了这个问题Ubuntu 12.04(精确的 Pangolin),但该解决方案在 Debian 7.3 上不起作用。
我真的搞混了吗?!
答案1
我搜索了太多次,真的搞混了,所以我决定将 vsFTPd 更改为 SFTP 或其他名称,直到我找到一个关于这个错误。
然后我发现这个问题在 vsFTPd 版本 3 中已经解决了。所以我搜索了如何升级它,并找到了添加杰西存储库到我的 Debian 7.3 安装并对其进行升级:
echo "deb http://ftp.us.debian.org/debian jessie main contrib non-free" >> /etc/apt/sources.list
aptitude update
aptitude upgrade vsftpd
echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf
service vsftpd restart
现在它对我来说可以正常工作。
答案2
只需添加
seccomp_sandbox=NO
到配置并重新启动服务service vsftpd restart
然后“allow_writeable_chroot=YES”也将适用于较新的 vsFTPd 版本(位于500 OOPS:vsftpd:拒绝在 chroot() 内以可写 root 身份运行,让用户被监禁)。
答案3
从默认设置vsftpd.conf
:
警告!chroot 非常危险。如果使用 chroot,请确保用户没有 chroot 中顶层目录的写权限
这就是为什么你的解决方案应该不是适用时涉及allow_writeable_chroot=YES
。相反,重构文件系统以避免可写的 FTP 顶级目录。