Fichier pam.conf

Objectif

Contient des entrées de service pour chaque type de module PAM (Pluggable Authentication Modules).

Descriptif

Le fichier de configuration /etc/pam.conf est constitué d'entrées de service pour chaque type de module PAM et sert à acheminer les services via un chemin de module défini. Les entrées du fichier sont composées des champs séparés par des espaces : service_name module_type control_flag module_path module_options
Article Descriptif
service_name Indique le nom du service activé pour le module PAM. Le mot clé OTHER permet de définir le module par défaut à utiliser pour les applications non spécifiées dans une entrée.
module_type Indique le type de module pour le service. Les types de module valides sont auth, account, sessionou password. Un module donné prend en charge un ou plusieurs types de module.
control_flag Indique le comportement d'empilement du module. Les indicateurs de contrôle pris en charge sont nécessaires, requis, suffisants ou facultatifs.
requis
Tous les modules requis dans une pile doivent être transmis pour un résultat réussi. Si un ou plusieurs des modules requis échouent, tous les modules requis de la pile seront tentés, mais l'erreur du premier module requis ayant échoué sera renvoyée.
élément prérequis
Similaire au module requis, sauf que si un module requis échoue, aucun autre module de la pile n'est traité et il renvoie immédiatement le premier code d'échec d'un module requis ou obligatoire.
suffisant
Si un module est marqué comme étant suffisant et qu'aucun module requis n'a échoué, tous les modules restants de la pile sont ignorés et le succès est renvoyé.
facultatif
Si aucun des modules de la pile n'est requis et qu'aucun module suffisant n'a réussi, au moins un module facultatif pour le service doit aboutir. Si un autre module de la pile réussit, un échec dans un module facultatif est ignoré.
module_path Indique le module à charger pour le service. Les valeurs valides pour Chemin_module peuvent être spécifiées comme chemin d'accès complet au module ou uniquement au nom du module. Si le chemin d'accès complet au module n'est pas spécifié, la bibliothèque PAM ajoute /usr/lib/security (pour les services 32 bits) ou /usr/lib/security/64 (pour les services 64 bits) au nom du module.

Si le chemin d'accès au module est spécifié comme chemin d'accès complet, il utilise directement pour les services 32 bits, pour le chemin du module de services 64 bits dérivé de module_path/64/module_name.

module_options Spécifie une liste d'options spécifiques à un module, délimitée par un espace. Les valeurs de cette zone dépendent des options prises en charge par le module défini dans la zone module_path . Ce champ est facultatif
Les entrées incorrectement formées ou les entrées comportant des valeurs non valides pour les zones module_type ou control_flag sont ignorées par la bibliothèque PAM. Les entrées commençant par un signe de nombre (#) au début de la ligne sont également ignorées car elles indiquent un commentaire.

PAM prend en charge un concept généralement appelé empilement, qui permet d'utiliser plusieurs mécanismes pour chaque service. L'empilement est implémenté dans le fichier de configuration en créant plusieurs entrées pour un service avec la même zone module_type . Les modules sont appelés dans l'ordre dans lequel ils sont répertoriés dans le fichier pour un nom de service donné, le résultat final étant déterminé par la zone control_flag spécifiée pour chaque entrée.

Le sous-ensemble /etc/pam.conf suivant est un exemple d'empilement dans le type de module auth pour le service de connexion.
#
# PAM configuration file /etc/pam.conf
#

# Authentication Management
login   auth     required       /usr/lib/security/pam_ckfile    file=/etc/nologin
login   auth     required       /usr/lib/security/pam_aix
login   auth     optional       /usr/lib/security/pam_test      use_first_pass
OTHER   auth     required       /usr/lib/security/pam_prohibit

L'exemple de fichier de configuration contient trois entrées pour le service de connexion. Une fois que vous avez spécifié pam_ckfile et pam_aix selon les besoins, les deux modules sont exécutés et les deux doivent aboutir pour que le résultat global soit réussi. La troisième entrée pour le module pam_test fictif est facultative et son succès ou son échec n'affectera pas si l'utilisateur est en mesure de se connecter. L'option use_first_pass du module pam_test requiert qu'un mot de passe précédemment entré soit utilisé au lieu d'en demander un nouveau.

L'utilisation du mot clé OTHER en tant que nom de service permet de définir une valeur par défaut pour tous les autres services qui ne sont pas explicitement déclarés dans le fichier de configuration. La configuration d'une valeur par défaut garantit que tous les dossiers d'un type de module donné seront couverts par au moins un module. Dans le cas de cet exemple, tous les services autres que la connexion échoueront toujours, car le module pam_prohibit renvoie un échec PAM pour tous les appels.

Modification du fichier /etc/pam.conf

Lorsque vous modifiez le fichier de configuration /etc/pam.conf , tenez compte des points suivants:
  • Le fichier doit toujours appartenir à l'utilisateur root et à la sécurité du groupe. Le droit sur le fichier doit être défini sur 644 pour permettre à tout le monde de lire l'accès, mais seulement permettre à root de le modifier.
  • Pour plus de sécurité, envisagez de configurer explicitement chaque service activé par PAM, puis d'utiliser le module pam_prohibit pour le mot clé de service OTHER.
  • Lisez toute documentation fournie pour un module et un service choisi et déterminerez quels sont les indicateurs de contrôle, les options et les types de module pris en charge et quel sera leur impact.
  • Sélectionnez soigneusement l'ordre des modules et des indicateurs de contrôle, en gardant à l'esprit le comportement des indicateurs de contrôle requis, requis, suffisants et facultatifs dans les modules empilés.
Remarque: La configuration incorrecte du fichier de configuration PAM peut entraîner un système qui ne peut pas être connecté depuis que la configuration s'applique à tous les utilisateurs, y compris root. Une fois les modifications apportées au fichier, testant toujours les applications concernées avant de se déconnecter du système. Un système auquel il n'est pas possible de se connecter peut être récupéré en amorçant le système en mode maintenance et en corrigeant le fichier de configuration /etc/pam.conf .

Fichiers

Article Descriptif
/etc/pam.conf Emplacement du fichier de configuration pam.conf .