I'd like to have vsftpd convert all uploaded filenames matching
/home/$USER/public_html/* to lowercase, and set the permissions to 644 upon upload. Is this possible and how can I do this?
Vsftpd can't lowercase filenames, you may be able to get proftpd to do it though. There is a configuration directive
You can probably adjust it to meet your requirements.