Vsftpd : anonymous configuration for full access

Solution 1:

It seems, that vsftpd is trying to chroot to /srv/ftp/anon directory. In this case, its trying to prevent you to shoot into your own leg by refusing to write there (yes, they know, what they are doing and why).

So you should better set a directory structure, where there is a read-only directory and the writable one is inside, e.g. /srv/ftp would be writable only by root, and this will be the anon_root. Make another one, let say /srv/ftp/public and chown ftp /srv/ftp/public (or to whatever user is vsftp using). I am using a few more directives in the similar scenario:

allow_writeable_chroot=YES
nopriv_user=ftp
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES