\section{PAM (Pluggable Authentication Modules)}

\begin{frame}
   {Pluggable Authentication Modules (PAM)}

   \begin{itemize}
      \item PAM controls authentication of users
      \item Has the following components
      \begin{itemize}
         \item \textbf{PAM}-aware applications.
         \item Configuration files in \filelink{/etc/pam.d/}.
         \item \textbf{PAM} modules in the \texttt{libpam*}
         libraries, found in different locations depending
         on distribution.
      \end{itemize}
   \end{itemize}

\end{frame}

\cprotect\note{

   Historically, authentication of users was performed
   individually by individual applications; i.e.,
   \textbf{su}, \textbf{login}, and \textbf{ssh} would
   each authenticate and establish user accounts
   independently of each other.

   Most modern \textbf{Linux} applications have been
   written or rewritten to exploit \textbf{PAM}
   (\textbf{P}luggable \textbf{A}uthentication
   \textbf{Modules}) so that authentication can be done in
   one uniform way, using \textbf{libpam}.

   This library of modules provides enormous flexibility
   and consistency with respect to authentication,
   password, session, and account services.

   Each \textbf{PAM}-aware application, or service, may be
   configured with respect to \textbf{PAM} by an
   individual configuration file in \filelink{/etc/pam.d}.

}


