Syntaxe de contrôle «success = n» dans les fichiers pam.conf / pam.d / *

16

Après avoir correctement configuré Kerberos, voici ce que j'ai trouvé dans le /etc/pam.d/common-authfichier:

auth    [success=2 default=ignore]      pam_unix.so nullok_secure
auth    [success=1 default=ignore]      pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

La success=2valeur de contrôle signifie-t-elle qu'en cas d' pam_unix.so échec , l'authentification passe à la auth requisite pam_deny.soligne ou à la dernière ligne?

Jamie
la source

Réponses:

17

D'après ma compréhension, success=$numspécifiera le nombre de règles à ignorer en cas de succès. Donc, si l'un pam_unix.soou l' autre pam_winbind.soréussit, PAM passera à la ligne finale. Bien sûr, la dernière ligne permet l'accès dans tous les cas.

Warner
la source
Juste pour être clair; Les lignes 1 et 2 passeront à la ligne 4 lorsque l'une ou l'autre réussit. Logique.
Jamie
Merci pour les réponses à mes autres questions PAM aussi: cela tourne toutes mes questions étaient sans objet; J'avais restreint les connexions ssh à une liste particulière d'utilisateurs et j'ai oublié cela lorsque j'ai ajouté l'authentification de domaine. Lorsque j'ai ajouté Kerberos, il a correctement modifié les fichiers PAM pour l'authentification AD.
Jamie
2

pam.d (5) - Page de manuel Linux

Pour la syntaxe la plus compliquée, les valeurs de contrôle valides ont la forme suivante:
[value1=action1 value2=action2 ...]
L'actionN peut être: un entier non signé, n, signifiant une action de «sauter par-dessus les n prochains modules de la pile»

Ce que l'authentique commun dit:

  1. Si locales retours d'authentification UNIX succès , sauter deux modules sur le module au 4 (module 1 + 2 modules pour sauter -> Module 4). Sinon, ignorez le résultat de l'authentification locale et passez au module suivant.
  2. Si winbind (remplacé par sssd ces jours -ci ) avec des retours d'authentification kerberos succès , sauter un module sur le module 4. Dans le cas contraire ignorer le résultat de la auth locale et passer au module suivant.
  3. Refuser la demande d'authentification. Le résultat est finalisé lorsque REFUSÉ et PAM s'arrête là (l'action définie pour le contrôle requis).
  4. Permettez à tous. Le résultat est finalisé comme PERMIS mais passe au module suivant (l'action définie pour le contrôle requis). Cependant, il n'y a plus de module à exécuter, donc ça s'arrête là.
lun
la source