Once you start digging into a Linux system, you may find some confusing or unexpected things, like /usr/bin/false, for example. Why is it there and what is its purpose? Today’s SuperUser Q&A post has the answer to a curious reader’s questions.
Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.
The Question
SuperUser reader user7326333 wants to know why some system users have /usr/bin/false as their shell:
Why do some system users have /usr/bin/false as their shell? What does that mean?
Why do some system users have /usr/bin/false as their shell?
The Answer
SuperUser contributors duDE, Toby Speight, and bbaassssiiee have the answer for us. First up, duDE:
This helps to prevent users from logging onto a system. Sometimes you need a user account for a specific task. Nevertheless, no one should be able to interact with this account on the computer. These are, on one hand, system user accounts. On the other hand, this is an account for which FTP or POP3 access is possible, but just no direct shell login.
If you look more closely at the /etc/passwd file, you will find the /bin/false command as a login shell for many system accounts. Actually, false is not a shell, but a command that does nothing and then also ends with a status code that signals an error. The result is simple. The user logs in and immediately sees the login prompt again.
Followed by the answer from Toby Speight:
These users exist to be the owner of specific files or processes and are not intended to be login accounts. If the value of the “shell” field is not listed in /etc/shells, then programs such as FTP daemons do not allow access. Additionally, for programs that do not check /etc/shells, they make use of the fact that /bin/false will immediately return and deny an interactive shell.
And our final answer from bbaassssiiee:
Some users have /usr/bin/false, others have /sbin/nologin, or they may even have /usr/bin/passwd. They can either be system users that are needed to isolate program permissions or human users of programs that use the password files for authentication.
Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.
Image Credit: OpenStack Docs (OpenStack Project)
- › Windows 11 Is Changing How the Print Screen Key Works
- › Special UPDF Offer, Plus Deals on Pixel Watch, PC Monitors, and More
- › GNOME 44 Is Here to Make Your Linux PC Better Than Ever
- › Microsoft Loop is The Ultimate Team Collab Tool
- › Five Ways Smart Electric Toothbrushes Can Transform Your Oral Health
- › 8 Common Discord Scams (and How to Protect Yourself)