conf/145887: /usr/sbin/nologin should be in the default /etc/shells

Lowell Gilbert freebsd-bugs-local at
Thu Apr 29 15:20:57 UTC 2010

I haven't been doing a very good job explaining myself.  Maybe someone
else will (eventually) do a better job.  Or whap me in the head for
being wrong...

Paul Hoffman <phoffman at> writes:

> The problem is that many servers in the ports collection (such as mail access programs like qpoper) will only let clients connect if the client has a shell that is listed in /etc/shells. From a security standpoint, it would be obviously better to give these users the ability to act as clients but not to be able to log in using the shells that are listed by default (sh, csh, or tcsh).
> It sounds like you are suggesting that these users should be given a *different* shell, and that shell be added to /etc/shells. Why would that be any better than adding /usr/sbin/nologin to /etc/shells?

Exactly right.  The reason it's better is that you wouldn't be opening
up existing nologin users to be able to receive mail, FTP in, and so
on.  It's okay if you want to do that on your box, but doing it by
default would be an unreasonable breach of the so-called "Principle of
Least Astonishment," and one involving potential security problems at

More information about the freebsd-bugs mailing list