我想配置我的 vsftpd 服务器以接受匿名 FTP。
我使用了以下内容/etc/vsftpd.conf
:
listen=YES
anonymous_enable=YES
local_enable=NO
write_enable=YES
anon_root=/tmp/
anon_max_rate=2048000
xferlog_enable=YES
allow_writeable_chroot=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=NO
chroot_list_enable=NO
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
然后我使用以下命令重新启动 vsftpd:
sudo service vsftpd restart
然后我尝试以“匿名”身份从另一台电脑连接到 FTP 服务器,但收到错误:
$ ftp 192.168.1.68
Connected to 192.168.1.68.
220 (vsFTPd 3.0.2)
Name (192.168.1.68:mohamed): anonymous
331 Please specify the password.
Password:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed.
ftp>
我错过了什么?
答案1
这是一项“新”安全功能
vsftpd: refusing to run with writable root inside chroot
您必须禁用根目录的写入权限
chmod a-w yourdirectory
这足以让我搬到纯 ftpd