\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{dim. nov. 14 16:37:52 CET 2010}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={pam\_mysql},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Authentification auprès d'un serveur MySQL},
CreationDate={D:20101114163752},
ModDate={D:20101114163752},
Keywords={pam;authentification;sécurité}
}}
\begin{document}
 
\begin{center}
{\Huge pam\_mysql }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Authentification auprès d'un serveur MySQL}
 
\vspace{10mm}
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} verbose]{Si définis à 1 logs des informations détaillées}
\item[\hspace{1mm} debug]{Un alias du mode verbose}
\item[\hspace{1mm} user]{Le nom de l'utilisateur à utiliser pour la connexion au serveur MySQL}
\item[\hspace{1mm} passwd]{Le mot de passe de l'utilisateur spécifié par user}
\item[\hspace{1mm} host]{Le nom d'hôte ou le chemin absolu du socket unix où le serveur MySQL écoute}
\item[\hspace{1mm} db]{Le nom de la base de données contenant les noms de logins unique et leur mot de passe. Peut être une combinaison de tables avec la syntaxe JOIN. Par exemple: \textbf{[table=Host LEFT JOIN HostUser ON HostUser.host\_id=Host.id LEFT JOIN User ON HostUser.user\_id=User.id]}}
\item[\hspace{1mm} update\_table]{le nom de la table utilisée pour l'altération des mot de passe.}
\item[\hspace{1mm} usercolumn]{Le nom de la colonne contenant les noms unix}
\item[\hspace{1mm} passwdcolumn]{le nom de la colonne contenant les mots de passe cryptés}
\item[\hspace{1mm} statcolumn]{Le nom de la colonne ou une expression SQL qui indique le statut de l'utilisateur. Le statut est exprimé par la combinaison de 2 bits:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} bit 0 à 1]{le compte a expiré}
\item[\hspace{6mm} bit 1 à 1]{le mot de passe doit être changé}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} crypt]{La méthode de cryptage du mot de passe:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} 0]{aucun cryptage}
\item[\hspace{6mm} 1 ou Y]{crypt(3)}
\item[\hspace{6mm} 2 ou mysql]{utilise MYSQL PASSWORD()}
\item[\hspace{6mm} 3 ou md5]{hash md5}
\item[\hspace{6mm} 4 ou sha1]{hash sha1}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} md5]{Utilise md5 par défaut pour le hash crypt(3). N'a de sens que si crypt vaut Y}
\item[\hspace{1mm} use\_323\_passwd]{Utilise MySQL version 3 pour la fonction de cryptage si crypt vaus mysql}
\item[\hspace{1mm} where]{critère additionnel pour la requête}
\item[\hspace{1mm} sqllog]{active ou non le log SQL}
\item[\hspace{1mm} logtable]{Le nom de la table dans lequel écrire les logs}
\item[\hspace{1mm} logmsgcolumn]{le nom de la colonne dans la table de log où est écrire le pid du processus utilisant pam\_mysql}
\item[\hspace{1mm} loghostcolumn]{Le nom de la colonne où l'IP de la machine est stocké}
\item[\hspace{1mm} logrhostcolumn]{Le nom de la colonne où stocker l'hôte distant qui initie la session}
\item[\hspace{1mm} logtimecolumn]{Le nom de la colonne dans laquelle écrire le timestamp}
\item[\hspace{1mm} config\_file]{Chemin vers le fichier de configuration dans le style NSS\_Mysql qui énumère les options par ligne. Les noms d'options acceptées sont:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -]{users.host (host)}
\item[\hspace{6mm} -]{users.database (db)}
\item[\hspace{6mm} -]{users.db\_user (user)}
\item[\hspace{6mm} -]{users.db\_passwd (passwd)}
\item[\hspace{6mm} -]{users.where\_clause (host)}
\item[\hspace{6mm} -]{users.table (table)}
\item[\hspace{6mm} -]{users.update\_table (update\_table)}
\item[\hspace{6mm} -]{users.user\_column (usercolumn)}
\item[\hspace{6mm} -]{users.password\_column (passwdcolumn)}
\item[\hspace{6mm} -]{users.status\_column (statcolumn)}
\item[\hspace{6mm} -]{users.password\_crypt (crypt)}
\item[\hspace{6mm} -]{users.use\_323\_password (use\_323\_passwd)}
\item[\hspace{6mm} -]{users.use\_md5 (md5)}
\item[\hspace{6mm} -]{users.where\_clause (where)}
\item[\hspace{6mm} -]{users.disconnect\_every\_operation (disconnect\_every\_op) *1}
\item[\hspace{6mm} -]{verbose (verbose)}
\item[\hspace{6mm} -]{log.enabled (sqllog)}
\item[\hspace{6mm} -]{log.table (logtable)}
\item[\hspace{6mm} -]{log.message\_column (logmsgcolumn)}
\item[\hspace{6mm} -]{log.pid\_column (logpidcolumn)}
\item[\hspace{6mm} -]{log.user\_column (logusercolumn)}
\item[\hspace{6mm} -]{log.host\_column (loghostcolumn)}
\item[\hspace{6mm} -]{log.rhost\_column (logrhostcolumn) setfor2}
\item[\hspace{6mm} -]{log.time\_column (logtimecolumn)}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} use\_first\_pass]{à true pam\_mysql ne demande pas de mot de passe et utilise celui fournit par un précédent module d'authentification. S'il n'est pas donné, l'authentification échoue}
\item[\hspace{1mm} try\_first\_pass]{Tente avec le mot de passe fournit pas un précédent module d'authentification. S'il échoue, demande le mot de passe à l'utilisateur}
\item[\hspace{1mm} disconnect\_every\_op]{Par défaut, pam\_mysql conserve la connexion à la base mysql jusqu'à ce que la session soit terminée. Cette option permet de déconnecter à chaque fois que l'opération PAM s'est terminée.}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} \textbf{auth optional pam\_mysql.so user=root passwd=password} \\
\hspace{1mm} \textbf{account required pam\_mysql.so user=root passwd=password} \\
\end{flushleft}
\end{document}
