I set up vsftpd on my Ubuntu 20.04 server. Everything worked fine, I was even able to configure TLS. Now, I don't want the users to use SSH. I also disabled SFTP because of that. I don't want to disable SSH for these users because I want them to use it for some basic tools like change the password, etc. So, I've created a custom shell with these tools. However, when I enable this shell for the users, they can't log in to FTP. It just shows "login incorrect".

Why does vsftpd do that?

1 Answer 1


According to this article, vsftpd config file has a line:


This points to vsftpd pam service, which only allows valid shells.

So, if you comment out this line:

auth   required    pam_shells.so

in /etc/pam.d/vsftpd and then restart the vsftpd service (systemctl restart vsftpd or service vsftpd restart), users will be able to log in.

Hope this helps someone :)

  • 1
    @user.dz Oh yeah I forgot :)
    – adazem009
    Commented Nov 3, 2020 at 16:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .