Gestion de Kerberos et d'autres services d'authentification dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Septembre 2014
 
 

Superposition PAM

Si les fichiers de configuration ne contiennent qu'un seul module, le résultat de ce module détermine celui de l'opération. Par exemple, l'opération d'authentification par défaut pour l'application passwd contient un module, pam_passwd_auth.so.1, dans le fichier /etc/pam.d/passwd.

auth required           pam_passwd_auth.so.1

Si, en revanche, plusieurs modules mettent en oeuvre un service, on parle de modules empilés, c'est- à-dire qu'une pile PAM existe pour ce nom de service. Par exemple, prenons les entrées dans un exemple de service /etc/pam.d/login :

auth definitive         pam_user_policy.so.1
auth requisite          pam_authtok_get.so.1
auth required           pam_unix_auth.so.1
auth required           pam_dhkeys.so.1
auth required           pam_unix_cred.so.1
auth required           pam_dial_auth.so.1

Ces entrées créent une pile auth pour le nom de service login. Pour déterminer le résultat de cette pile, les codes de résultat de chaque module requièrent un processus d'intégration.

Dans le processus d'intégration, les modules sont exécutés dans l'ordre du fichier. Chaque code de réussite ou d'échec est intégré dans le résultat global en fonction de l'indicateur de contrôle du module. L'indicateur de contrôle peut entraîner la fin anticipée de la pile. Par exemple, l'échec d'un module requisite ou definitive met fin à la pile. En cas d'absence d'échecs précédent, la réussite d'un module sufficient, definitive ou binding met également fin à la pile. Une fois la pile traitée, tous les résultats sont regroupés en un résultat global unique, qui est transmis à l'application. Pour une vue graphique du flux, reportez-vous à la seciton Figure 1–2 et Figure 1–3.

    L'indicateur de contrôle précise le rôle joué par un module PAM pour déterminer la réussite ou l'échec. Les indicateurs de contrôle ont les effets suivants :

  • Liaison : lorsque les exigences d'un module binding (liaison) sont satisfaites, la réussite est immédiatement renvoyée à l'application si aucun échec n'a été enregistré. Si ces conditions sont vérifiées, aucun autre module n'est exécuté.

    En cas d'échec, un échec required est enregistré et le traitement des modules se poursuit.

  • Définitif : lorsque les exigences d'un module definitive (définitif) sont satisfaites, la réussite est immédiatement renvoyée à l'application si aucun échéc précédent n'a été enregistré.

    Si un échec précédent a été enregistré, cet échec est immédiatement renvoyé à l'application sans exécution supplémentaire de modules. Un échec entraîne le renvoi immédiat d'une erreur et l'arrêt de l'exécution des modules.

  • Include : ajoute des lignes d'un autre fichier de configuration PAM à utiliser à ce stade de la pile PAM. Cet indicateur ne contrôle pas les comportements de réussite ni d'échec. Lorsqu'un nouveau fichier est lu, la pile PAM include est incrémentée. Au terme de la vérification de la pile dans le nouveau fichier, la valeur de pile include est décrémentée. Une fois la fin du fichier atteinte et la valeur de la pile PAM include définie sur 0, le traitement de la pile prend fin. Le nombre maximum pour la pile PAM include est 32.

  • Optional : il n'est pas nécessaire que les exigences d'un module optional (facultatif) soient satisfaites pour que le service puisse être utilisé.

    En cas d'échec, un échec optional est enregistré.

  • Required : les exigences d'un module required (requis) doivent être satisfaites pour que la pile réussisse. La réussite finale de la pile n'est renvoyée que si aucun module binding ou required n'a signalé d'échec.

    Un échec entraîne le renvoi d'une erreur après l'exécution des modules restants pour ce service.

  • Requisite : les exigences d'un module requisite (indispensable) doivent être satisfaites pour que la pile réussisse. Tous les modules requisite dans la pile doivent renvoyer un résultat positif pour que la pile puisse renvoyer une réussite à l'application.

    Un échec entraîne le renvoi immédiat d'une erreur et l'arrêt de l'exécution des modules.

  • Sufficient : si aucun échec required précédent n'a été enregistré, la réussite dans un module sufficient (suffisant) renvoie immédiatement un résultat positif sans aucune autre exécution de modules.

    En cas d'échec, un échec optional est enregistré.

    Les deux diagrammes connectés suivants indiquent comment un résultat est déterminé lors du processus d'intégration.

  • Le premier diagramme montre comment la réussite ou l'échec sont enregistrés pour chaque type d'indicateur de contrôle. Les résultats sont affichés dans le second diagramme.

  • Le second diagramme indique comment la valeur intégrée est déterminée. Un échec facultatif et un échec requis renvoient un échec en retour, et une réussite renvoie une réussite. L'application détermine comment gérer ces codes de retour.

Figure 1-2  Superposition PAM : effet des indicateurs de contrôle

image:L'organigramme indique les incidences des indicateurs de contrôle sur la superposition PAM.

Figure 1-3  Superposition PAM : détermination de la valeur intégrée

image:L'organigramme indique comment les valeurs intégrées sont déterminées dans la superposition PAM.