I'm not able to login to pure-ftpd here is my /etc/pure-ftpd/db/mysql.conf: Code: ############################################## # # # Sample Pure-FTPd Mysql configuration file. # # See README.MySQL for explanations. # # # ############################################## # Optional : MySQL server name or IP. Don't define this for unix sockets. MYSQLServer localhost # Optional : MySQL port. Don't define this if a local unix socket is used. MYSQLPort 3306 # Optional : define the location of mysql.sock if the server runs on this host. #MYSQLSocket /var/run/mysqld/mysqld.sock # Mandatory : user to bind the server as. MYSQLUser ispconfig # Mandatory : user password. You must have a password. MYSQLPassword <correct password is here checked with mysql -u -p> # Mandatory : database to open. MYSQLDatabase dbispconfig # Mandatory : how passwords are stored # Valid values are : "cleartext", "crypt", "sha1", "md5" and "password" # ("password" = MySQL password() function) # You can also use "any" to try "crypt", "sha1", "md5" *and* "password" MYSQLCrypt any # In the following directives, parts of the strings are replaced at # run-time before performing queries : # # \L is replaced by the login of the user trying to authenticate. # \I is replaced by the IP address the user connected to. # \P is replaced by the port number the user connected to. # \R is replaced by the IP address the user connected from. # \D is replaced by the remote IP address, as a long decimal number. # # Very complex queries can be performed using these substitution strings, # especially for virtual hosting. # Query to execute in order to fetch the password MYSQLGetPW SELECT password FROM ftp_user WHERE active='y' AND username='\L' # Query to execute in order to fetch the system user name or uid MYSQLGetUID SELECT uid FROM ftp_user WHERE active='y' AND username='\L' # Optional : default UID - if set this overrides MYSQLGetUID #MYSQLDefaultUID 1000 # Query to execute in order to fetch the system user group or gid MYSQLGetGID SELECT gid FROM ftp_user WHERE active='y' AND username='\L' # Optional : default GID - if set this overrides MYSQLGetGID #MYSQLDefaultGID 1000 # Query to execute in order to fetch the home directory MYSQLGetDir SELECT dir FROM ftp_users WHERE active='y' AND username='\L' # Optional : query to get the maximal number of files # Pure-FTPd must have been compiled with virtual quotas support. # MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User='\L' # Optional : query to get the maximal disk usage (virtual quotas) # The number should be in Megabytes. # Pure-FTPd must have been compiled with virtual quotas support. # MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User='\L' # Optional : ratios. The server has to be compiled with ratio support. # MySQLGetRatioUL SELECT ULRatio FROM users WHERE User='\L' # MySQLGetRatioDL SELECT DLRatio FROM users WHERE User='\L' # Optional : bandwidth throttling. # The server has to be compiled with throttling support. # Values are in KB/s . # MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User='\L' # MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User='\L' # Enable ~ expansion. NEVER ENABLE THIS BLINDLY UNLESS : # 1) You know what you are doing. # 2) Real and virtual users match. # MySQLForceTildeExpansion 1 # If you're using a transactionnal storage engine, you can enable SQL # transactions to avoid races. Leave this commented if you are using the # traditionnal MyIsam engine. # MySQLTransactions On I am still unable to login, I have mysql logging to a log file and it is querying the database properly with the correct username. The database password works because I was able to login with mysql from the command line. Please let me know what your suggestions are as I'm unable to solve this problem. I have also disabled PAM auth and have just pure-ftpd-mysql installed with virtualchroot.