I am using fedora to host a FTP server for internal use and I am using vsftpd for this.
It is using the configuration file /etc/vsftpd/vsftpd.conf.
The configuration I am using is as follows:
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=username
ftpd_banner=Welcome to blah FTP service.
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
anon_root=/home/ftp
anon_umask=022
local_umask=022
file_open_mode=0777
Whatever I do, the file uploaded by anonymous user is -rw-------
and the directory created is drwxrwxrwx.
I want the uploaded file to be -rw-rw-rw-.
What am I doing wrong here? Any suggestions?

man umaskfor more information. – terdon Jan 11 at 19:06