5. Les modules PAM upstream

5.1. Solaris

5.2. Linux PAM

Voici la liste (exhaustive) des modules Linux PAM fournies dans sa version 0.79. Notez que certains ne sont généralement pas utilisés dans une configuration réelle, ils servent d'exemples ou d'outils de debug.

5.2.1. pam_access

Ce module permet via un fichier de configuration (par défaut /etc/security/access.conf, peut être surchargé via l'argument accessfile) de restreindre ou autoriser l'accès à une liste d'utilisateur avec

Implémente les appels suivants :

  • pam_sm_acct_mgmt

Tableau 5. Paramètres pam_eaccess

accessfileFichier de configuration du module

5.2.2. pam_cracklib

Vérifier la pertinence d'un mot de passe lors de sa mise à jour par l'utilisateur.

Tableau 6. Paramètres pam_cracklib

debugActive le mode debug
type=XXXXUtiliser pour le prompt: "New XXXX password"
retry=NNombre d'essai avant de retourner une erreur (par défaut 1)
difok=NNombre de caractères pouvant être identiques au mot de passe précédent
difignore=NLongueur minimale avant d'ignorer difok
minlen=NLongueur minimale du nouveau mot de passe
dcredit=NPoids d'un chiffre
ucredit=NPoids d'une majuscule
lcredit=NPoids d'une minuscule
ocredit=NPoids d'un autre caractère
use_authtokUtilise le mot de passe fourni via PAM_AUTHTOK

5.2.3. pam_debug

Ce module aide l'administrateur système à débugger (et comprendre) les mécanismes de PAM. Son comportement est défini via les arguments suivants.

Tableau 7. Paramètres pam_debug

authperm_denied, success
credperm_denied, success

5.2.4. pam_deny

Ce module renvoie toujours une erreur.

5.2.5. pam_env

5.2.6. pam_filter

5.2.7. pam_ftp

5.2.8. pam_group

5.2.9. pam_issue

5.2.10. pam_lastlog

Affiche un message contenant le timestamp de la dernière connexion réussie

5.2.11. pam_limits

Permet de définir les limites d'utilisation des ressources systèmes (man setrlimit) à la connexion de l'utilisateur.

Exemple 1. /etc/security/limits.conf

* soft core 0 * hard rss 10000 @student hard nproc 20 @faculty soft nproc 20 @faculty hard nproc 50 ftp hard nproc 0 @student - maxlogins 4

5.2.12. pam_listfile

Vérifie la présence d'un objet dans une liste.

Tableau 8. Paramètres pam_listfile

itemValeur parmi : tty, user, rhost, ruser, group, shell
senseAction à prendre si l'objet est trouvé dans la liste. (si non trouvé, décision inverse). Valeur parmi : allow, deny
fileFichier liste
onerrAction à prendre en cas d'erreur du module (exemple : fichier introuvable). Valeur parmi : succeed, fail
applyDomaine d'application. Valeur parmi : user, @group. Cet argument n'a de sens que pour les objets de type tty, rhost, shell

5.2.13. pam_localuser

Vérifie simplement que le nom de l'utilisateur est présent dans /etc/passwd ou autre fourni en argument.

Tableau 9. Paramètres pam_localuser

debugActive le mode debug
fileFichier à utiliser au lieu de /etc/passwd

5.2.14. pam_mail

5.2.15. pam_mkhomedir

Permet la création du répertoire utilisateur (homedir), très utilisé pour une authentification centralisée (de type Kerberos, NIS ou bien encore LDAP).

Tableau 10. Paramètres pam_mkhomedir

skelRépertoire squelette (exemple : /etc/skel)
umaskMasque (exemple : 0027) à utiliser lors de la création du répertoire
5.2.15.1. Notes

Attention ! La création du répertoire utilisateur nécessite généralement les droits administrateurs (root), ce module peut ne pas fonctionner pour des applications en mode utilisateurs, ou pour ceux délaissant les droits (par exemple ssh) avant d'utiliser PAM.

5.2.16. pam_motd

Affiche le fichier /etc/motd (ou celui passé via l'argument motd) à l'ouverture de session.

Tableau 11. Paramètres pam_motd

motd=Fichier à afficher

5.2.17. pam_nologin

Si le fichier /etc/nologin est présent, tous les utilisateurs (à l'exception de root) seront rejettes en affichant le contenu de ce fichier. Si ce fichier n'existe pas, la valeur PAM_IGNORE est retournée (ce comportement est modifiable via l'argument successok).

Tableau 12. Paramètres pam_nologin

file=Fichier à utiliser au lieu de /etc/nologin
successokRetourne PAM_SUCCESS si le fichier n'est pas présent

5.2.18. pam_permit

Module d'exemple qui se contente de retourner PAM_SUCCESS

5.2.19. pam_pwdb

5.2.20. pam_radius

5.2.21. pam_rhosts

5.2.22. pam_rootok

Retourne PAM_SUCCESS si l'UID de l'utilisateur appelant (c'est à dire celui avec lequel vous appelez PAM) est 0. En utilisant ce module associé au mot clé sufficient, cela permet à l'utilisateur root de ne pas avoir à fournir de mot de passe.

5.2.23. pam_securetty

Ce module refuse la connexion en utilisateur root si le TTY utilisé n'est pas listé dans le fichier /etc/securetty.

5.2.24. pam_selinux

Défini un contexte de sécurité (security contexte) SELinux lors de la connexion de l'utilisateur.

Tableau 13. Paramètres pam_selinux

closeN'execute que la partie close_session du module
debugActive le mode debug (via syslog priorité DEBUG)
nottysNe pas définir le contexte sur les terminaux de contrôles
verbose 
openN'execute que la partie open_session du module

5.2.25. pam_shells

Vérifie que le shell de l'utilisateur soit présent dans le fichier /etc/shells.

5.2.26. pam_succeed_if

5.2.27. pam_tally

5.2.28. pam_time

Permet de resteindre les accès aux services en fonction d'une plage horaire.

5.2.29. pam_unix

L'un des modules les plus utilisés. En effet, celui-ci verifie l'idendité de l'utilisateur via les fichiers /etc/passwd et /etc/shadow. Il permet également la mise à jour du mot de passe.

Tableau 14. Paramètres pam_unix

debugActive le mode debug
auditPlus d'infos qu'en mode debug
use_first_passUtilise les variables PAM pour lemot de passe
try_first_passUtilise - si disponible - les variables PAM
use_authtokIdem à use_first_pass mais renvoie faux si PAM_AUTHTOK n'est pas défini
not_set_passNe défini pas PAM_AUTHTOK
shadowUtiliser les mécanismes shadow
md5Crypter (en fait hashé) les mot de passe au format md5
bigcryptCrypter les mots de passe au format DEC C2
nodelaySupprime le délai d'une seconde en cas d'authentification invalide
nisUtilise les RPC NIS pour la mise à jour du mot de passe
remember=NRetiens les N derniers mot de passes dans le fichier /etc/security/opasswd (au format MD5)
broken_shadowIgnore les erreurs liées à la lecture des informations shadow
likeauthTODO
nullokTODO
nullok_secureTODO
min=NLongueur minimale du mot de passe
max=NLongueur maximale du mot de passe

5.2.30. pam_userdb

5.2.31. pam_warn

Module de diagnostic. En effet, il se contente de retourner PAM_IGNORE. Son but est d'enregistrer un message de log (via syslog).

5.2.32. pam_wheel

Autorise l'authentification vers l'utilisateur root uniquement pour les membres d'un goupe donné (par défaut wheel).

Tableau 15. Paramètres pam_wheel

debugActive le mode debug
use_uidContrôle l'uid de l'utilisateur courant au lieu de celui d'origine (utile pour une configuration avec su par exemple)
trustRetourne PAM_SUCCESS au lieu de PAM_IGNORE si l'utilisateur fait bien partie du groupe wheel
denyRetourn PAM_IGNORE si l'utilisateur fait partie du groupe wheel (inverse le comportement)
group=XXXXXNom du groupe (par défaut wheel)
root_onlyN'effectue le test que si l'uid demandé est 0

5.2.33. pam_xauth

Transfère les cookies d'authentifiation xauth d'un utilisateur à un autre.