Linux PAM

Linux PAM
Stable release
1.5.3 / May 8, 2023; 17 months ago (2023-05-08)
Repositoryhttps://github.com/linux-pam/linux-pam
Written inC
Operating systemLinux
Typeauthentication
LicenseGNU General Public License or Modified BSD License
Websitewww.linux-pam.org

Linux Pluggable Authentication Modules (PAM) is a suite of libraries that allow a Linux system administrator to configure methods to authenticate users. It provides a flexible and centralized way to switch authentication methods for secured applications by using configuration files instead of changing application code.[1] There are Linux PAM libraries allowing authentication using methods such as local passwords, LDAP, or fingerprint readers.[2] Linux PAM is evolved from the Unix Pluggable Authentication Modules architecture.[3]

Linux-PAM separates the tasks of authentication into four independent management groups:[4]

  • account modules check that the specified account is a valid authentication target under current conditions. This may include conditions like account expiration, time of day, and that the user has access to the requested service.
  • authentication modules verify the user's identity, for example by requesting and checking a password or other secret. They may also pass authentication information on to other systems like a keyring.
  • password modules are responsible for updating passwords, and are generally coupled to modules employed in the authentication step. They may also be used to enforce strong passwords.
  • session modules define actions that are performed at the beginning and end of sessions. A session starts after the user has successfully authenticated.
  1. ^ "Chapter 1. Introduction". An Internet Archive page of Linux PAM site. Archived from the original on 2021-05-06. Retrieved 2023-11-11.
  2. ^ Lauber, Susan (2020-07-22). "An introduction to Pluggable Authentication Modules (PAM) in Linux". Red Hat. Retrieved 2021-02-28.
  3. ^ Fernandes, Savio; Reddy, KLM. "Securing Applications on Linux with PAM | Linux Journal". Linux Journal. Retrieved 2018-09-30.
  4. ^ "pam.d(8): Pluggable Authentication Modules for - Linux man page". linux.die.net. Retrieved 2021-02-28.