Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm running a Ubuntu 10.04 LTS server and I want to create users who can only access the server from ftp.

What I did so far is:

  • Install vsftpd
  • Create new user with default login shell set to /bin/false

The normal users on the server are all able to access their home folder through ftp but the users to whom remote shell access is removed by setting it to "/bin/false" are not able to log by ftp either.

I don't understand how the shell access affects the vsftpd server? How could I enable the ftp access without re-enabling shell?

UPDATE: I found this reference that states that I should use /sbin/nologin (seems to be /usr/sbin/nologin in Ubuntu) and that it should not affect ftp access but it does not work in my case.

share|improve this question
May be try setting to /bin/true –  balki Jul 6 '11 at 15:44
I've never used vsftpd but I found solution that do what you need. I don't know if it is best solution (I think it should work, but maybe there is something better). –  pbm Jul 6 '11 at 15:47
Just tried /bin/true and it does not work. –  jmbouffard Jul 6 '11 at 15:49
Thanks @pbm but it is not exactly what I'm looking for because I'd prefer to use real users. –  jmbouffard Jul 6 '11 at 16:40

1 Answer 1

I don't know if it is good practice to answer my own question but I found a simple solution that enables ftp login.

I needed to add the line


to the file /etc/shells. Right after this modification the ftp server started to accept login from users to whom the shell is set /usr/sbin/nologin. So they cannot login through ssh but it works with ftp exactly as I wanted.

Thanks for your helpful comments.

share|improve this answer

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.