Hi. I got it working for me. Here are details:
I have an external NTFS Gigabyte drive that I called "Store01". This volume contains a directory called "/ftp". I want anonymous people to upload to what is seen thru FTP as "/ftp/pub", and I want this to actually be /ftp on my NTFS drive.
First, vsftpd wants the anonymous root directory to be owned by ftp:ftp
So, I looked in the user file to find the id for ftp:
and found that on my system ftp us userid 14
Then I looked in the groups file to find the id for the ftp group:
and found that on my system the ftp group is 50
Next, I looked to see what device name my NTFS volume has:
on my system, my NTFS volume is shown to be called: /dev/sdc1
So, I created a mount point for it thus (I'm arbitrarily calling it "Store01":
in /etc/fstab, this line gets the NTFS volume mounted at /mnt/Store01:
/dev/sdc1 /mnt/Store01 ntfs-3g nls=utf8,auto,user,rw,uid=14,gid=50,umask=0000,defaults 0 0
Note that it is going to belong to user 14, which is ftp on my system, and group 50, which is ftp on my system. VSFTPD requires that anonymous upload directories to belong to ftp:ftp
Now I define a mount point I want to use as my anonymous root:
chown root:root /var/ftp
chown ftp:ftp /var/ftp/pub
Notice /var/ftp is owned by root:root, and therefore cannot be written to by vsftpd. This is a requirement of vsftpd for a root anonymous directory, that the anonymous root directory not be writable. So, /var/ftp is what I'm going to use as the anonymous root directory.
But /var/ftp/pub is writeable by vsftpd. It appears to anonymous users as a "pub" directory on the FTP site where they can write files.
So I add this line to /etc/fstab, which will point /var/ftp/pub (the anonymous writable directory) to the /ftp folder on my NTFS volume:
/mnt/Store01/ftp /var/ftp/pub auto bind 0 0
And finally, in /etc/vsftpd/vsftpd.conf, this line:
Now an anonymous user can upload into the "pub" directory, on the anonymous FTP site. Files uploaded there will appear in /ftp on my NTFS volume.