*nologin* displays a message that an account is not available and exits non-zero. It is intended as a replacement shell field to deny login access to an account.
If the file _/etc/nologin.txt_ exists, *nologin* displays its contents to the user instead of the default message.
The exit status returned by *nologin* is always 1.
*nologin* is a per-account way to disable login (usually used for system accounts like http or ftp). *nologin* uses _/etc/nologin.txt_ as an optional source for a non-default message, the login access is always refused independently of the file.
*pam_nologin*(8) PAM module usually prevents all non-root users from logging into the system. *pam_nologin*(8) functionality is controlled by _/var/run/nologin_ or the _/etc/nologin_ file.