In what file are the passwords for ftp user hashes stored? Are they the same for every ftp server on linux or does it depend on the ftp server? What are the default permissions for that file?
There really isn't a standard place where ftp user hashes are stored. It all depends on what daemon you run, the configuration you have given it, how your system is setup, etc
The closest thing to a standard location you'll find is in the case of you using your system accounts as FTP accounts, and your system accounts are stored locally. In that case you'll find the hashes in /etc/shadow.
If you use virtual FTP accounts they can really be stored anywhere.
In short, it depends.
This is obviously dependent on the daemon, but most ftp daemons for *nix use the machine's username/passwords. On most machines, for most daemons, this will be handled by a pam module - check /etc/pam.d/daemon_name_here and you'll probably see how it's setup.