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:
La
falla requerida de tal PAM conducirá en última instancia a la falla de retorno de PAM-API, pero solo después de que se hayan invocado los módulos apilados restantes (para este tipo y servicio)requisite
como se requiere, sin embargo, en el caso de que un módulo de tales devuelve un error, el control se devuelve directamente a la aplicación.suficiente
éxito de dicho módulo es suficiente para satisfacer los requisitos de autenticación de la pila de módulos (si un módulo requerido anteriormente ha fallado, se ignora el éxito de este). Una falla de este módulo no se considera fatal para satisfacer la aplicación 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 requisitefalla, no se analizará toda la pila de módulos y el control volverá a la aplicación de inmediato. Si un módulo sufficienttiene éxito, el resto de la pila de módulos no se analizará y el control volverá a la aplicación de inmediato. Si un módulo requiredfalla, se analizará toda la pila.
Ahora, no puedo entender cuál será el comportamiento cuando un determinado módulo requiredfalla y otro módulo sufficienttiene éxito.
fuente

requiredfalla algún elemento, ¿por qué esPAMnecesario seguir pasando por la pila? si finalmente fallará de todos modos?En mi opinión, un
requiredindicador de control debe ser siempre exitoso para que un módulo sea exitoso.Un
sufficientmódulo marcado se ignora si falla. Si es exitoso y ningúnrequiredmódulo marcado anteriormente ha fallado, no es necesario verificar otros módulos del mismo tipo y el módulo se considera exitoso. Básicamente, larequiredbandera tiene mayor prioridad que lasufficientbandera, pero la última tiene la capacidad de dejar de verificar el resto si las anterioresrequiredtuvieron éxito.Ejemplo:
Si las líneas 1, 2, 3 y 4 son exitosas, entonces la línea 5 puede saltarse y el módulo
authes exitoso. Si la línea 4 no tiene éxito, se ignora y se marca la línea 5. Si alguna de las líneas 1, 2, 3 ha fallado, entonces la línea 4 no se tiene en cuenta.fuente