You have created a bunch of custom configuration files for specific users who will be FTPing into a site which is using vsftpd. However, when you FTP into the server using these accounts, none of the user-specific settings are in effect. You've checked the syntax of the configuration files and it is correct. You've also made sure that the files are located in the directory specified using the user_config_dir directive in the configuration file being read by vsftpd.
I spent about an hour searching for a cause to this problem with no luck. Then I realized, vsftpd is open source! I downloaded the source code for vsftpd version 2.04 and searched for the text user_config_dir. One of the files in which I found this text had a very interesting conditional line:

The macro VSFTP_ROOT_UID is defined in the source file defs.h and is hardcoded to 0 (root) as shown below:

I wouldn't even dream of commenting out the condition above, given that vsftpd was specifically hard-coded to ignore the user_config_dir files unless they are owned by root. Aside from this, you would need to change ownership of all of the configuration files in the directory specified by user_config_dir to root.
As with the other tricks, it worked for me. Your mileage may vary.
| Back to Stupid Networking Tricks | philatfacebook@gmail.com |