I have seen several blogs and forum entries elsewhere state that because NTFS volumes do not support linux ownership or permissions, they cannot be used for anonymous ftp upload through the vsftpd program.
IT can be done and here's how to get it working:
In this example, I have an external NTFS Gigabyte drive that I called "Store01". This volume contains a directory called "/ftp". Anonymous ftp clients should be able to upload to what is seen thru FTP as "/ftp/pub", and I want these files to actually show up in /ftp on my external NTFS drive.
The first requirement is that vsftpd wants the anonymous root directory to be owned by ftp:ftp
You'll need to find the right id so look in the user file to find the id for ftp. In this case:
Again, in this case my system ftp is userid 14
Next look in the groups file to find the id for the ftp group:
In this example, the ftp group is 50
Next, look to see what device name my NTFS volume has:
On my system, my NTFS volume is shown to be called: /dev/sdc1
Now create 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 define a mount point you want to use as your ftp anonymous root: