Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am setting up a new user let his name be ftpguy. He has access to only one directory /var/www/xxx. I have already chowned the directory so that he has write and read privileges. The user is also unable to login via ssh as I have disabled that by changing his shell to /sbin/nologin.

Also, in vsftpd config, I have enabled the chroot_local_user. Now whenever I log in from ftp, i get an auth error.

Connect socket #1008 to xxxxxxxx, port 21...   
220 Welcome to blah FTP service.  
USER ftpguy  
331 Please specify the password.  
PASS **********  
530 Login incorrect.

I changed the password to something different several times, using the passwd command, nothing happens, i still the above error.

However I am able to log in with my ssh creditals to my ftp server without any problems.(I do not use a key).

share|improve this question
up vote 2 down vote accepted

Check your vsftpd config for the setting check_shell if it is set to YES change it to NO. If it is not there at all add it and set it NO as well. Having check_shell set to YES (and YES is the default for this) vsftpd will check if the users shell is in /etc/shells if it is not in there it will disallow the login.

share|improve this answer
That did not work, I had to edit my PAM file and remove a line but you gave me the idea, ♥ ya :) – HackToHell Oct 2 '12 at 16:25

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.