authentication – PAM – bandera de control necesaria y suficiente

Pregunta:

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

  • requerido
    La falla de tal PAM finalmente conducirá a la falla de retorno de PAM-API, pero solo después de que se hayan invocado los módulos apilados restantes (para este servicio y tipo)

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

  • suficiente
    El éxito de un módulo de este tipo 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 fatal para satisfacer 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.

Por lo tanto, según tengo entendido, si falla un requisite de módulo, no se analizará la pila completa de módulos y el control volverá a la aplicación de inmediato. Si un módulo tiene éxito sufficient , el resto de la pila de módulos no se analizará y el control volverá a la aplicación de inmediato. Si falla un módulo required , 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 lo sufficient exitoso.

Respuesta:

PAM procede a través de los elementos de la pila en secuencia. Solo conserva la memoria de en qué estado se encuentra (éxito o negado, siendo éxito hasta ahora el significado de éxito), 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 tanto si había elementos required previos como si no. En este punto, PAM devuelve el estado actual: éxito si no falló ningún elemento required anterior; de lo contrario, se deniega.

De manera similar, si un elemento marcado como requisite falla, la biblioteca PAM detiene el procesamiento y devuelve un error. En ese momento, es irrelevante si un elemento required anterior falló.

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

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım