I want to setup an anonymous only FTP server (able to upload files). Here is my configuration file:
listen=YES
anonymous_enable=YES
anon_root=/var/www/ftp
local_enable=YES
write_enable=YESr.
anon_upload_enable=YES
anon_mkdir_write_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
dirmessage_enable=YES
use_localtime=YES
secure_chroot_dir=/var/run/vsftpd/empty
rsa_cert_file=/etc/ssl/private/vsftpd.pem
pam_service_name=vsftpd
But when I try to connect it:
kan@kan:~$ ftp yxxxng.bej
Connected to yxxx.
220 (vsFTPd 2.3.5)
Name (yxxxg.bej:kan): anonymous
331 Please specify the password.
Password:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed
How can I fix this?
This blog here points out how to fix this problem.
The issue being that the user's root directory is writable. The Frontier Group provides you with a fix on vsFTPd.
Here are the steps to be taken (copy paste from the tutorial, in case the link dies)
login as root (or sudo..) and do the following:
vi /etc/vsftpd.conf and add the following allow_writeable_chroot=YES
sudo service vsftpd restart