\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. oct. 3 19:22:36 CEST 2010}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={pam\_cracklib},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Vérifie le mot de passe via dictionnaire},
CreationDate={D:20101003192236},
ModDate={D:20101003192236},
Keywords={pam;authentification;sécurité}
}}
\begin{document}
 
\begin{center}
{\Huge pam\_cracklib }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Vérifie le mot de passe via dictionnaire}
 
\vspace{10mm}
 
\hspace{1mm}  ce module peut être utilisé dans la pile \textbf{password}. Il demande un mot de passe et vérifie sa complexité avec un dictionnaire et définis des rêgles pour identifier les choix faibles. Si le mot de passe est jugé suffisemment fort, le module redemande confirmation du mot de passe à l'utilisateur. Si tout s'est bien passé le mot de passe est passé au modules suivants pour être installé comme nouveau token d'authentification.
\vspace{5mm} \\
 
 
\hspace{1mm}  La vérification du mot de passe s'effectue comme suit: la routine Cracklib est appelé pour vérifier si le mot de passe est trouvé dans un dictionnaire; et si ce n'est pas le cas, une autre vérification est faite:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} Palindrome]{Est-ce que le nouveau mot de passe est un palindrome}
\item[\hspace{6mm} case change only]{Est ce que le nouveau mot de passe et l'ancien non qu'un changement de casse}
\item[\hspace{6mm} similar]{Si le nouveau mot de passe est trop proche de l'ancien. Principalement contrôlé par un argument, difok qui est un nombre de caractères qui diffèrent. Le défaut est 10 ou la moitié de la taille du nouveau mot de passe s'il est inférieur.}
\item[\hspace{6mm} simple]{Est ce que le mot de passe est trop petit. Contrôlé par 5 arguments: minlen, dcredit, ucredit, lcredit et ocredit.}
\item[\hspace{6mm} rotated]{Est ce que le nouveau mot de passe est une rotation de l'ancien mot de passe.}
\item[\hspace{6mm} Same Consecutive characters]{Vérification optionnelle des caractères consécutifs}
\item[\hspace{6mm} Contains user name]{Vérification optionnel desmots de passe contenant le nom de l'utiliateur.}
\end{description}
 
\hspace{1mm}  Ce module n'a pas d'argument. Avec le crypte md5, les mots de passe ne peuvent dépasser 8 caractères.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} debug]{Écrit des informations dans syslog.}
\item[\hspace{1mm} authok\_type=XXX]{Remplace le mot UNIX dans "New UNIX password : " et "Retype UNIX password : " par celui spécifié}
\item[\hspace{1mm} retry=N]{Demande à l'utilisateur N fois avant de retourner une erreur. Défaut 1.}
\item[\hspace{1mm} difok=N]{Change la règle par défaut de 5 caractères dans le nouveau mot de passe qui ne doivent pas être présent dans l'ancien mot de passe.}
\item[\hspace{1mm} difignore=N]{Combien de caractères doit avoir le mot de passe avant que difok soit ignoré. Défaut est 23.}
\item[\hspace{1mm} minlen=N]{Taille minimum pour le nouveau mot de passe (plus 1 si credits ne sont pas désactivé - défaut) Défaut 9}
\item[\hspace{1mm} dcredit=N]{Credit maximum pour avoir des chiffres dans le mot de passe. défaut 1}
\item[\hspace{1mm} ucredit=N]{crédit maximum pour avoir des lettres majuscule dans le mot de passe}
\item[\hspace{1mm} lcredit=N]{Crédit maximum pour avoir des lettre minuscule dans le mot de passe.}
\item[\hspace{1mm} ocredit=N]{Crédit maximum pour avoir d'autres caractères dans le mot de passe}
\item[\hspace{1mm} minclass=N]{Nombre minimum de classes de caractère requises. Les 4 classes sont les chiffre, minuscules, majuscules et les autres. défaut 0}
\item[\hspace{1mm} maxrepeat=N]{Nombre maximum de caractères consécutifs identiques dans le mot de passe.}
\item[\hspace{1mm} reject\_username]{Rejète le mot de passe s'il contient le nom de l'utilisateur}
\item[\hspace{1mm} use\_authtok]{Utilisé pour forcer le module à ne pas demander de nouveau mot de passe mais d'en utiliser un fournis par le module passowrd précédent.}
\item[\hspace{1mm} dictpath=/path/to/dict]{Chemin vers les dictionnaires}
\end{description}
 
\vspace{1cm}{\huge Valeurs retournées }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} PAM\_SUCCESS]{le nouveau mot de passe à passé toutes les vérifications}
\item[\hspace{1mm} PAM\_AUTHTOK\_ERR]{Aucun nouveau mot de passe n'a été entré, le nom d'utilisateur ne peut pas être déterminé ou le nouveau mot de passe à échoué la vérification}
\item[\hspace{1mm} PAM\_AUTHTOK\_RECOVERY\_ERR]{L'ancien mot de passe n'a pas été fournis par un module précent ou n'est pas fournis par l'utilisateur}
\item[\hspace{1mm} PAM\_SERVICE\_ERR]{Une erreur interne s'est produite}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Exemple montrant commant il peut être stacké avec le composant password de pam\_unix: \\
\hspace{1mm} \textbf{passwd password required pam\_cracklib.so retry=3} \\
\hspace{1mm} \textbf{passwd password required pam\_unix.so use\_authtok} \\
\hspace{1mm} Autre exemple dans le cas où vous voulez utiliser md5: \\
\hspace{1mm} \textbf{password required pam\_cracklib.so difok=3 minlen=15 dcredit=2 ocredit=2} \\
\hspace{1mm} \textbf{password required pam\_uix.so use\_authtok nullok md5} \\
\hspace{1mm} Autre exemple dans le cas où vous ne voulez pas utiliser les crédits: \\
\hspace{1mm} \textbf{password required pam\_cracklib.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit} \\
\hspace{1mm} \textbf{=0 minlen=0} \\
\hspace{1mm} \textbf{password required pam\_unix.so use\_authtok nullok md5} \\
\end{flushleft}
\end{document}
