Sintaxis de control "success = n" en archivos pam.conf / pam.d / *

16

Después de configurar con éxito Kerberos, esto es lo que he encontrado en el /etc/pam.d/common-autharchivo:

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

¿El success=2valor de control significa que si pam_unix.so falla , la autenticación salta a la auth requisite pam_deny.solínea o a la última línea?

Jamie
fuente

Respuestas:

17

Según tengo entendido, success=$numespecificaré cuántas reglas omitir cuando tenga éxito. Entonces, si tiene éxito pam_unix.soo no pam_winbind.so, PAM saltará a la línea final. Por supuesto, la línea final permite el acceso en todos los casos.

Warner
fuente
Para ser claro; Las líneas 1 y 2 saltarán a la línea 4 cuando cualquiera de ellas tenga éxito. Tiene sentido.
Jamie
Gracias por las respuestas a mis otras preguntas PAM también: resulta que todas mis preguntas eran discutibles; Restringí los inicios de sesión de ssh a una lista particular de usuarios y me olvidé de eso cuando agregué la autenticación de dominio. Cuando agregué Kerberos, modificó los archivos PAM correctamente para la autenticación AD.
Jamie
2

pam.d (5) - página de manual de Linux

Para la sintaxis más complicada, los valores de control válidos tienen la siguiente forma:
[value1=action1 value2=action2 ...]
La acción N puede ser: un entero sin signo, n, que significa una acción de 'saltar sobre los siguientes n módulos en la pila'

Lo que dice la autenticación común:

  1. Si la autenticación local de UNIX devuelve el éxito , salte dos módulos al cuarto módulo (módulos 1 + 2 para saltar -> módulo 4). De lo contrario, ignore el resultado de la autenticación local y pase al siguiente módulo.
  2. Si winbind (reemplazado con sssd en estos días) con autenticación Kerberos devuelve el éxito , salte un módulo al módulo 4. De lo contrario, ignore el resultado de la autenticación local y pase al siguiente módulo.
  3. Denegar la solicitud de autenticación. El resultado se finaliza como DENEGADO y PAM se detiene allí (la acción definida para el control requerido).
  4. Permitir todo. El resultado se finaliza como PERMITIDO, pero se pasa al siguiente módulo (la acción definida para el control requerido). Sin embargo, no queda ningún módulo para ejecutar, por lo que termina allí.
Lun
fuente