<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Pluggable_Authentication_Module</id>
	<title>Pluggable Authentication Module - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Pluggable_Authentication_Module"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Pluggable_Authentication_Module&amp;action=history"/>
	<updated>2026-04-13T06:47:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Pluggable_Authentication_Module&amp;diff=396042&amp;oldid=prev</id>
		<title>imported&gt;The RedBurn: +rfc ref</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Pluggable_Authentication_Module&amp;diff=396042&amp;oldid=prev"/>
		<updated>2025-02-08T10:43:42Z</updated>

		<summary type="html">&lt;p&gt;+rfc ref&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Flexible mechanism for authenticating users}}&lt;br /&gt;
{{refimprove|date=May 2011}}&lt;br /&gt;
[[File:PAM Diagramm.svg|thumb|right|Structure]]&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;pluggable authentication module&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;PAM&amp;#039;&amp;#039;&amp;#039;) is a mechanism to integrate multiple low-level [[authentication]] schemes into a high-level [[application programming interface]] (API). PAM allows programs that rely on authentication to be written independently of the underlying authentication scheme. It was first proposed by [[Sun Microsystems]] in an [[Open Software Foundation]] [[Request for Comments]] (RFC) 86.0 dated October 1995.&amp;lt;ref&amp;gt;[https://www.kernel.org/pub/linux/libs/pam/pre/doc/rfc86.0.txt.gz The Original Solaris PAM RFC]&amp;lt;/ref&amp;gt; It was adopted as the authentication framework of the [[Common Desktop Environment]]. As a stand-alone [[open-source]] infrastructure, PAM first appeared in [[Red Hat Linux]] 3.0.4 in August 1996 in the [[Linux PAM]] project. PAM is currently supported in the [[AIX operating system]], [[DragonFly BSD]],&amp;lt;ref&amp;gt;[http://leaf.dragonflybsd.org/cgi/web-man?command=pam&amp;amp;section=ANY PAM manual page of DragonFly BSD]&amp;lt;/ref&amp;gt; [[FreeBSD]], [[HP-UX]], [[Linux]], [[macOS]], [[NetBSD]] and [[Solaris (operating system)|Solaris]].&lt;br /&gt;
&lt;br /&gt;
Since no central standard of PAM behavior exists, there was a later attempt to standardize PAM as part of the [[X/Open]] UNIX standardization process, resulting in the &amp;#039;&amp;#039;&amp;#039;X/Open Single Sign-on&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;XSSO&amp;#039;&amp;#039;&amp;#039;) standard. This standard was not ratified, but the standard draft has served as a reference point for later PAM implementations (for example, [[OpenPAM]]).&lt;br /&gt;
&lt;br /&gt;
==Criticisms==&lt;br /&gt;
Since most PAM implementations do not interface with remote clients themselves, PAM, on its own, cannot implement [[Kerberos (protocol)|Kerberos]], the most common type of [[Single sign-on|SSO]] used in Unix environments. This led to SSO&amp;#039;s incorporation as the &amp;quot;primary authentication&amp;quot; portion of the would-be XSSO standard and the advent of technologies such as [[SPNEGO]] and [[Simple Authentication and Security Layer|SASL]]. This lack of functionality is also the reason [[Secure Shell|SSH]] does its own authentication mechanism negotiation.&lt;br /&gt;
&lt;br /&gt;
In most PAM implementations, pam_krb5 only fetches [[Ticket Granting Ticket]]s, which involves prompting the user for credentials, and this is only used for the initial login in an SSO environment. To fetch a service ticket for a particular application, and not prompt the user to enter credentials again, that application must be specifically coded to support Kerberos. This is because pam_krb5 cannot itself get service tickets, although there are versions of PAM-KRB5 that are attempting to work around the issue.&amp;lt;ref&amp;gt;[http://www.eyrie.org/~eagle/software/pam-krb5/ PAM-KRB5]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* Implementations:&lt;br /&gt;
**[[Java Authentication and Authorization Service]]&lt;br /&gt;
**[[Linux PAM]]&lt;br /&gt;
**[[OpenPAM]]&lt;br /&gt;
*[[Identity management]] &amp;amp;ndash; the general topic&lt;br /&gt;
*[[Name Service Switch]] &amp;amp;ndash; manages user databases&lt;br /&gt;
*[[System Security Services Daemon]] &amp;amp;ndash; SSO implementation based on PAM and NSS&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
Specifications:&lt;br /&gt;
*[https://www.kernel.org/pub/linux/libs/pam/pre/doc/rfc86.0.txt.gz The Original Solaris PAM RFC]&lt;br /&gt;
*[https://pubs.opengroup.org/onlinepubs/8329799/toc.pdf X/Open Single Sign-on (XSSO) 1997 Draft Working Paper]&lt;br /&gt;
&lt;br /&gt;
Guides:&lt;br /&gt;
*{{webarchive |url=https://web.archive.org/web/20130819174111/http://www.linux.ie/articles/pam.php |date=August 19, 2013 |title=PAM and password control }}&lt;br /&gt;
*[http://www.linuxjournal.com/article/2120 Pluggable Authentication Modules for Linux]&lt;br /&gt;
*[http://www.informit.com/articles/article.aspx?p=20968 Making the Most of Pluggable Authentication Modules (PAM)]&lt;br /&gt;
*[http://docs.oracle.com/cd/E23824_01/html/821-1456/pam-1.html Oracle Solaris Administration: Security Services: Using PAM]&lt;br /&gt;
&lt;br /&gt;
{{Authentication APIs}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Open Group standards]]&lt;br /&gt;
[[Category:Unix authentication-related software]]&lt;br /&gt;
[[Category:Computer access control frameworks]]&lt;br /&gt;
[[Category:Computer security standards]]&lt;br /&gt;
[[Category:Application programming interfaces]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{security-software-stub}}&lt;/div&gt;</summary>
		<author><name>imported&gt;The RedBurn</name></author>
	</entry>
</feed>