GNU/Linux >> Tutoriales Linux >  >> Linux

Pam – ¿Bandera de control requerida y suficiente?

Estoy estudiando PAM y no tengo ni idea del significado de alguna combinación de banderas de control. De la documentación de Red Hat tenemos:

  • requerida
    la falla de tal PAM conducirá en última instancia a la falla de devolución de la PAM-API
    pero solo después de que los módulos apilados restantes (para este servicio y tipo)
    hayan sido invocados

  • requisito
    como requerido, sin embargo, en el caso de que dicho módulo devuelva una falla,
    el control se devuelve directamente a la aplicación.

  • el éxito
    suficiente de dicho módulo es suficiente para satisfacer los requisitos de autenticación
    de la pila de módulos (si un módulo requerido anterior ha fallado
    , se ignora el éxito de este). Una falla de este módulo no se considera
    como fatal para satisfacer a la aplicación de que este tipo ha tenido éxito. Si el módulo
    tiene éxito, el marco PAM devuelve el éxito a la aplicación
    inmediatamente sin probar ningún otro módulo.

Entonces, según tengo entendido, si un módulo requisite falla, no se analizará toda la pila de módulos y el control volverá a la aplicación inmediatamente.
Si un módulo sufficient tiene éxito, el resto de la pila de módulos no se analizará y el control volverá a la aplicación inmediatamente.
Si un módulo required falla, se analizará toda la pila.

Ahora, no puedo entender cuál será el comportamiento cuando un cierto módulo required falla y otro módulo sufficient tiene éxito.

Respuesta aceptada:

PAM procede a través de los elementos de la pila en secuencia. Solo guarda la memoria de en qué estado se encuentra (éxito o denegado, con éxito significa éxito hasta el momento), no de cómo llegó a ese estado.

Si un elemento marcado como sufficient tiene éxito, la biblioteca PAM deja de procesar esa pila. Esto sucede si hubo required anterior artículos o no. En este punto, PAM devuelve el estado actual:éxito si no se requiere required elemento fallido, de lo contrario denegado.

Del mismo modo, si un elemento marcado como requisite falla, la biblioteca PAM deja de procesar y devuelve un error. En ese momento, es irrelevante si un required anterior elemento fallido.

En otras palabras, required no necesariamente hace que se procese toda la pila. Solo significa seguir adelante.

Relacionado:¿Control cuadro por cuadro de un video de YouTube?
Linux
  1. ¿Usar Setxkbmap para intercambiar el desplazamiento izquierdo y el control izquierdo?

  2. ¿Cómo tener un módulo Pam de respaldo?

  3. ¿La diferencia entre Nss y Pam?

  4. ¿Relaciones entre caracteres de control, señales y terminal?

  5. Crear y controlar scripts de inicio en BusyBox

Bash-it:Marco Bash para controlar sus scripts y alias

Cómo cargar y descargar módulos del kernel en Linux

CPU Power Manager:controle y administre la frecuencia de la CPU en Linux

Controle el uso de RAM y CPU por Kodi en tiempo real

Cambios en los parámetros del módulo del kernel (usando /sys/module)

kvm:la verificación del módulo falló:falta la firma y/o la clave requerida - núcleo corrupto