After installing vsftpd I have the user ftp on my system. I assigned a password to this account. However, I still cannot login as the ftp user (on the command line, without any ftp-protocol involved).

su - ftp
... still the previous user is logged on

People will wonder why I want to do this. Well, I want to expose the whole file system via ftp. People will say, you should not do that, well...

1 Answer 1


The reason is very likely due to the ftp account having /bin/false or similar as its default shell:

$ getent passwd ftp
ftp:x:116:127:ftp daemon,,,:/srv/ftp:/bin/false

It is probably not a good idea in term of security but should you want to set the user shell to something valid, you can use chsh, eg:

# chsh ftp /bin/bash
chsh ftp
Changing the login shell for ftp
Enter the new value, or press ENTER for the default
Login Shell [/bin/false]: /bin/bash
  • thx, "sudo usermod -s /bin/bash ftp" did it.
    – citykid
    Sep 7, 2014 at 14:43
  • chsh, learning, thx
    – citykid
    Sep 7, 2014 at 14:44
  • You're welcome, usermod is fine too !
    – jlliagre
    Sep 7, 2014 at 15:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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