123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
- <refentry id='pam8'>
- <refmeta>
- <refentrytitle>pam</refentrytitle>
- <manvolnum>8</manvolnum>
- <refmiscinfo class='setdesc'>Linux-PAM Manual</refmiscinfo>
- </refmeta>
- <refnamediv id='pam8-name'>
- <refname>PAM</refname>
- <refname>pam</refname>
- <refpurpose>Pluggable Authentication Modules for Linux</refpurpose>
- </refnamediv>
- <refsect1 id='pam8-description'>
- <title>DESCRIPTION</title>
- <para>
- This manual is intended to offer a quick introduction to
- <emphasis remap='B'>Linux-PAM</emphasis>. For more information
- the reader is directed to the
- <emphasis remap='B'>Linux-PAM system administrators' guide</emphasis>.
- </para>
- <para>
- <emphasis remap='B'>Linux-PAM</emphasis> is a system of libraries
- that handle the authentication tasks of applications (services) on
- the system. The library provides a stable general interface
- (Application Programming Interface - API) that privilege granting
- programs (such as <citerefentry>
- <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
- </citerefentry> and <citerefentry>
- <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
- </citerefentry>) defer to to perform standard authentication tasks.
- </para>
- <para>
- The principal feature of the PAM approach is that the nature of the
- authentication is dynamically configurable. In other words, the
- system administrator is free to choose how individual
- service-providing applications will authenticate users. This dynamic
- configuration is set by the contents of the single
- <emphasis remap='B'>Linux-PAM</emphasis> configuration file
- <filename>/etc/pam.conf</filename>. Alternatively, the configuration
- can be set by individual configuration files located in the
- <filename>/etc/pam.d/</filename> directory. The presence of this
- directory will cause <emphasis remap='B'>Linux-PAM</emphasis> to
- <emphasis remap='I'>ignore</emphasis> <filename>/etc/pam.conf</filename>.
- </para>
- <para>
- Vendor-supplied PAM configuration files might be installed in
- the system directory <filename>/usr/lib/pam.d/</filename> or
- a configurable vendor specific directory instead
- of the machine configuration directory <filename>/etc/pam.d/</filename>.
- If no machine configuration file is found, the vendor-supplied file
- is used. All files in <filename>/etc/pam.d/</filename> override
- files with the same name in other directories.
- </para>
- <para>From the point of view of the system administrator, for whom this
- manual is provided, it is not of primary importance to understand the
- internal behavior of the
- <emphasis remap='B'>Linux-PAM</emphasis>
- library. The important point to recognize is that the configuration
- file(s)
- <emphasis remap='I'>define</emphasis>
- the connection between applications
- <emphasis remap='B'></emphasis>(<emphasis remap='B'>services</emphasis>)
- and the pluggable authentication modules
- <emphasis remap='B'></emphasis>(<emphasis remap='B'>PAM</emphasis>s)
- that perform the actual authentication tasks.</para>
- <para><emphasis remap='B'>Linux-PAM</emphasis>
- separates the tasks of
- <emphasis remap='I'>authentication</emphasis>
- into four independent management groups:
- <emphasis remap='B'>account</emphasis> management;
- <emphasis remap='B'>auth</emphasis>entication management;
- <emphasis remap='B'>password</emphasis> management;
- and
- <emphasis remap='B'>session</emphasis> management.
- (We highlight the abbreviations used for these groups in the
- configuration file.)</para>
- <para>Simply put, these groups take care of different aspects of a typical
- user's request for a restricted service:</para>
- <para><emphasis remap='B'>account</emphasis> -
- provide account verification types of service: has the user's password
- expired?; is this user permitted access to the requested service?</para>
- <!-- .br -->
- <para><emphasis remap='B'>auth</emphasis>entication -
- authenticate a user and set up user credentials. Typically this is via
- some challenge-response request that the user must satisfy: if you are
- who you claim to be please enter your password. Not all authentications
- are of this type, there exist hardware based authentication schemes
- (such as the use of smart-cards and biometric devices), with suitable
- modules, these may be substituted seamlessly for more standard
- approaches to authentication - such is the flexibility of
- <emphasis remap='B'>Linux-PAM</emphasis>.</para>
- <!-- .br -->
- <para><emphasis remap='B'>password</emphasis> -
- this group's responsibility is the task of updating authentication
- mechanisms. Typically, such services are strongly coupled to those of
- the
- <emphasis remap='B'>auth</emphasis>
- group. Some authentication mechanisms lend themselves well to being
- updated with such a function. Standard UN*X password-based access is
- the obvious example: please enter a replacement password.</para>
- <!-- .br -->
- <para><emphasis remap='B'>session</emphasis> -
- this group of tasks cover things that should be done prior to a
- service being given and after it is withdrawn. Such tasks include the
- maintenance of audit trails and the mounting of the user's home
- directory. The
- <emphasis remap='B'>session</emphasis>
- management group is important as it provides both an opening and
- closing hook for modules to affect the services available to a user.</para>
- </refsect1>
- <refsect1 id='pam8-files'>
- <title>FILES</title>
- <variablelist>
- <varlistentry>
- <term><filename>/etc/pam.conf</filename></term>
- <listitem>
- <para>the configuration file</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><filename>/etc/pam.d</filename></term>
- <listitem>
- <para>
- the <emphasis remap='B'>Linux-PAM</emphasis> configuration
- directory. Generally, if this directory is present, the
- <filename>/etc/pam.conf</filename> file is ignored.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><filename>/usr/lib/pam.d</filename></term>
- <listitem>
- <para>
- the <emphasis remap='B'>Linux-PAM</emphasis> vendor configuration
- directory. Files in <filename>/etc/pam.d</filename> override
- files with the same name in this directory.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><filename>%vendordir%/pam.d</filename></term>
- <listitem>
- <para>
- the <emphasis remap='B'>Linux-PAM</emphasis> vendor configuration
- directory. Files in <filename>/etc/pam.d</filename> and
- <filename>/usr/lib/pam.d</filename> override files with the same
- name in this directory. Only available if Linux-PAM was compiled
- with vendordir enabled.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1 id='pam8-errors'>
- <title>ERRORS</title>
- <para>
- Typically errors generated by the
- <emphasis remap='B'>Linux-PAM</emphasis> system of libraries, will
- be written to <citerefentry>
- <refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum>
- </citerefentry>.
- </para>
- </refsect1>
- <refsect1 id='pam8-conforming_to'>
- <title>CONFORMING TO</title>
- <para>
- DCE-RFC 86.0, October 1995.
- Contains additional features, but remains backwardly compatible
- with this RFC.
- </para>
- </refsect1>
- <refsect1 id='pam8-see_also'>
- <title>SEE ALSO</title>
- <para>
- <citerefentry>
- <refentrytitle>pam</refentrytitle><manvolnum>3</manvolnum>
- </citerefentry>,
- <citerefentry>
- <refentrytitle>pam_authenticate</refentrytitle><manvolnum>3</manvolnum>
- </citerefentry>,
- <citerefentry>
- <refentrytitle>pam_sm_setcred</refentrytitle><manvolnum>3</manvolnum>
- </citerefentry>,
- <citerefentry>
- <refentrytitle>pam_strerror</refentrytitle><manvolnum>3</manvolnum>
- </citerefentry>,
- <citerefentry>
- <refentrytitle>PAM</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry>
- </para>
- </refsect1>
- </refentry>
|