\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 16:30:40 CEST 2010}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={pam\_access},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Module de contrôle d'accès},
CreationDate={D:20101003163040},
ModDate={D:20101003163040},
Keywords={pam;authentification;sécurité}
}}
\begin{document}
 
\begin{center}
{\Huge pam\_access }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Module de contrôle d'accès}
 
\vspace{10mm}
 
\hspace{1mm}  Ce module est principalement utilisé pour la gestion d'accès. Il fournit contrôle d'accès de login style logdaemon sur les noms de logins, hôtes ou noms de domaines, les adresses internet ou réseaux ou nom de lignes terminal. Les rêgles d'accès par défaut sont pris dans \textbf{/etc/security/access.conf}. Si PAM est compilé avec le support d'audit, le module reporte quand il refuse l'accès basé sur l'origine (hôte ou tty).
\vspace{5mm} \\
 
 
\hspace{1mm}  Le fichier de rêgles par défaut spécifie des combinaisons (\textbf{user/group, host}) (\textbf{user/group, network/mask}) (\textbf{user/group, tty}) pour qu'un login soit accèpté ou refusé. L'ordre est important, le module s'arrête à la première correspondance trouvée. Chaque ligne possède la syntaxe suivante:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} permission:users/groups:origins]{}
\item[\hspace{1mm} -]{Le premier champs est soit '+' pour authoriser l'accès soit '-' pour l'interdire.}
\item[\hspace{1mm} -]{Le second champ est une liste d'un ou plusieurs noms de login, groups, ou ALL. Pour différencier les noms des groupes, les groupes sont écris entre parenthèses.}
\item[\hspace{1mm} -]{Le troisième champ est une liste de noms tty, noms d'hôtes, noms de domaines (commençant par '.'), numéros de réseau (se termine par '.'), addresse réseaux avec le masque, ALL ou LOCAL qui correspond uniquement si PAM\_RHOST n'est pas définis et le champs origin est définis depuis PAM\_TTY ou PAM\_SERVICE. Il est possible d'utiliser @netgroupname dans l'hôte ou les pattern utilisateur.}
\item[\hspace{1mm} -]{L'opérateur EXCEPT permet d'écrire des rêgles compacte.}
\item[\hspace{1mm} -]{Si \textbf{nodefgroup} n'est pas définis, le fichier group est recherché quand un nom ne correspond pas à l'utilisateur. Seul les groupes qui correspondant à de tels utilisateurs sont explicitement listés.}
\end{description}
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} accessfile=/path/to/access.conf]{Spécifie le fichier de rêgles à utiliser}
\item[\hspace{1mm} debug]{syslog de nombreuses informations}
\item[\hspace{1mm} noaudit]{Ne report pas les logins des hôtes et tty non autorisés dans le sous-système d'audit.}
\item[\hspace{1mm} fieldsep=separators]{Modifie le séparateur par défaut}
\item[\hspace{1mm} listsep=separators]{Modifie le séparateur de listes}
\item[\hspace{1mm} nodefgroup]{Les tokens utilisateurs qui ne sont pas entre parenthèse ne correspondent jamais aux groupes}
\end{description}
 
\vspace{1cm}{\huge Codes de retour }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} PAM\_SUCCESS]{accès autorisé}
\item[\hspace{1mm} PAM\_PERM\_DENIED]{Accès non autorisé}
\item[\hspace{1mm} PAM\_IGNORE]{pam\_setcred a été appelé et ne fait rien}
\item[\hspace{1mm} PAM\_ABORT]{Aucune donnée ou option ne peut être donné.}
\item[\hspace{1mm} PAM\_USER\_UNKNOWN]{utilisateur inconnus du système}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} l'utilisateur root devrait toujours être autorisé à accéder à cron, X11, et les tty \\
\hspace{1mm} \textbf{+:root:crond :0 tty1 tty2 tty3 tty4 tty5 tty6} \\
\hspace{1mm} root devrait avoir accès depuis les hôtes qui ont une IPv4 \\
\hspace{1mm} \textbf{+:root:192.168.200.1 192.168.200.4 192.168.200.9} \\
\hspace{1mm} \textbf{+:root:127.0.0.1} \\
\hspace{1mm} root devrait avoir accès depuis les réseau 192.168.201.0 \\
\hspace{1mm} \textbf{+:root:192.168.201.} \\
\hspace{1mm} ou \\
\hspace{1mm} \textbf{+:root:192.168.201.0/24} \\
\hspace{1mm} ou \\
\hspace{1mm} \textbf{+:root:192.168.201.0/255.255.255.0.} \\
\hspace{1mm} root devrait avoir accès depuis les hôtes foo1.bar.org et foo2.bar.org \\
\hspace{1mm} \textbf{+:root:foo1.bar.org foo2.bar.org} \\
\hspace{1mm} root devrait avoir accès depuis le domaine foo.bar.org \\
\hspace{1mm} \textbf{+:root:.foo.bar.org} \\
\hspace{1mm} root ne devrait pas avoir accès à toutes les ressources \\
\hspace{1mm} \textbf{-:root:ALL} \\
\hspace{1mm} l'utilisateur foo et le groups admins devraitent avoir accès à toutes les sources \\
\hspace{1mm} \textbf{+:@admins foo:ALL} \\
\hspace{1mm} Les utilisateurs john et foo devraient avoir accès depuis une adresse IPv6 \\
\hspace{1mm} \textbf{+:john foo:2001:db8:0:101 ::1} \\
\hspace{1mm} john devrait avoir accès depuis le réseau IPv6 \\
\hspace{1mm} \textbf{+:john:2001:db8:0:101 ::/64} \\
\hspace{1mm} interdire les logins console à tout le monde sauf shutdown, sync et tous les autres comptes, qui sont membre du groupe wheel \\
\hspace{1mm} \textbf{-:ALL EXCEPT (wheel) shutdown sync:LOCAL} \\
\hspace{1mm} Tous les autres utilisateurs devraient être refusés depuis toutes les autres sources \\
\hspace{1mm} \textbf{-:ALL:ALL} \\
\end{flushleft}
\end{document}
