I was working on getting vsftpd set up with some virtual users and wanted to use an Apache-style users file to manage the virtual users. I found a number of guides that showed how to configure things, but couldn't get it working. After much debugging, I realized the problem was that CentOS doesn't install the pam_pwdfile.so module by default.
So, before you can use a pwdfile with vsftpd, you will need to install the pam_pwdfile.so module. Here are the install directions I used:
After you have installed the module, make sure to restart any services that you might be dependent on the PAM.