pam_nologin(8)

pam_nologin8

Prevent non-root users from login

Usage

pam_nologin.so [file=/path/nologin] [successok]

Overview

pam_nologin is a PAM module that prevents users from logging into the system when /var/run/nologin or /etc/nologin exists. The contents of the file are displayed to the user. The pam_nologin module has no effect on the root user's ability to log in.

Options

file=/path/nologin

Use this file instead the default /var/run/nologin or /etc/nologin.

successok

Return PAM_SUCCESS if no file exists, the default is PAM_IGNORE.

Module types provided

The auth and account module types are provided.

Return values

PAM_AUTH_ERR

The user is not root and /etc/nologin exists, so the user is not permitted to log in.

PAM_BUF_ERR

Memory buffer error.

PAM_IGNORE

This is the default return value.

PAM_SUCCESS

Success: either the user is root or the nologin file does not exist.

PAM_USER_UNKNOWN

User not known to the underlying authentication module.

Examples

The suggested usage for /etc/pam.d/login is:

auth  required  pam_nologin.so

Notes

In order to make this module effective, all login methods should be secured by it. It should be used as a required method listed before any sufficient methods in order to get standard Unix nologin semantics. Note, the use of successok module argument causes the module to return PAM_SUCCESS and as such would break such a configuration - failing sufficient modules would lead to a successful login because the nologin module succeeded.

Releases

12 releases since Debian 1.3 (Bo); the text changed 9 times.

  1. 1.3–2.0
  2. 5.0
  3. 6.0
  4. 7
  5. 8–9
  6. 10
  7. 11
  8. 12
  9. 13
  10. Arch

Author

pam_nologin was written by Michael K. Johnson <[email protected]>.

From pam 1.7.3-1 in Arch Linux 2026-11-07. Parsed by carta from the page's man source.