16.3. Configuration des modules PAM

Certains des modules PAM sont configurables. Les fichiers de configuration correspondants sont situés dans /etc/security. Cette section donne une brève description des fichiers de configuration appropriés pour l'exemple de sshd (pam_unix2.conf, pam_env.conf, pam_pwcheck.conf et limits.conf).

16.3.1. pam_unix2.conf

La méthode d'authentification classique utilisant les mots de passe est contrôlée par le module PAM pam_unix2. Il peut lire les données nécessaires dans /etc/passwd, /etc/shadow, les cartes NIS (Network Information Service - service d'informations réseau), les tables NIS+ ou une base de données LDAP. Le comportement de ce module peut être influencé soit par la configuration des options PAM de l'application elle-même, soit globalement via la modification du fichier /etc/security/pam_unix2.conf. Un fichier de configuration très simple pour le module est donné dans l'Exemple 16.6, « pam_unix2.conf ».

Exemple 16.6. pam_unix2.conf

auth:   nullok
account:
password:       nullok
session:        none

L'option nullok pour les modules de type auth et password indique que les mots de passe vides sont autorisés pour le type de compte correspondant. Les utilisateurs sont autorisés à changer les mots de passe de leur compte. L'option none pour le module de type session indique qu'aucun message n'est indiqué au nom de ce module (paramétrage par défaut). Pour obtenir d'autres options de configuration, reportez-vous aux commentaires dans le fichier lui-même ainsi qu'à la page de manuel pam_unix2(8).

16.3.2. pam_env.conf

Ce fichier peut servir à définir un environnement standardisé pour les utilisateurs qui est paramétré chaque fois que le module pam_env est appelé. Grâce à lui, prédéfinissez les variables d'environnement à l'aide de la syntaxe suivante :

VARIABLE  [DEFAULT=[value]]  [OVERRIDE=[value]]
VARIABLE

Nom de la variable d'environnement à définir.

[DEFAULT=[value]]

Valeur par défaut que l'administrateur veut définir.

[OVERRIDE=[value]]

Valeurs qui peuvent faire l'objet d'une demande et qui sont définies par pam_env, ce qui écrase la valeur par défaut.

Un exemple type d'utilisation de pam_env est l'adaptation de la variable DISPLAY, qui est modifiée chaque fois qu'un login est exécuté à distance. Il est présenté dans l'Exemple 16.7, « pam_env.conf ».

Exemple 16.7. pam_env.conf

REMOTEHOST     DEFAULT=localhost OVERRIDE=@{PAM_RHOST}
DISPLAY        DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY}

La première ligne définit la valeur localhost pour la variable REMOTEHOST, qui est utilisée chaque fois que pam_env ne parvient pas à déterminer d'autre valeur. La variable DISPLAY contient alors la valeur REMOTEHOST. Pour plus d'informations, reportez-vous aux commentaires dans le fichier /etc/security/pam_env.conf.

16.3.3. pam_pwcheck.conf

Ce fichier de configuration est destiné au module pam_pwcheck, qui lit les options dans ce fichier pour tous les modules de type password. Les paramètres enregistrés dans ce fichier sont prioritaires par rapport aux paramètres PAM d'une application individuelle. Si aucun paramètre propre à cette application n'a été défini, l'application utilise les paramètres globaux. L'Exemple 16.8, « pam_pwcheck.conf » indique à pam_pwcheck d'autoriser les mots de passe vides et les modifications de mots de passe. D'autres options pour ce module sont indiquées dans le fichier /etc/security/pam_pwcheck.conf.

Exemple 16.8. pam_pwcheck.conf

password:    nullok

16.3.4. limits.conf

Vous pouvez définir des limites système pour un utilisateur ou un groupe dans le fichier limits.conf, qui est lu par le module pam_limits. Ce fichier permet de définir soit des limites strictes (qu'il est absolument impossible d'outrepasser), soit des limites souples (qui peuvent être temporairement outrepassées). Pour plus d'informations sur la syntaxe et les options disponibles, reportez-vous aux commentaires inclus dans ce fichier.