5 votos

Nginx con autenticación PAM a través de pam_script

Tiene a nadie a configurar una configuración de ese tipo? No funciona para mí.

He instalado nginx-extras en Ubuntu 12.04 (integrado con el módulo PAM), y se añade a la configuración del sitio:

location ^~ /restricted_place/ {
    auth_pam              "Please specify login and password from main_site";
    auth_pam_service_name "nginx";
}

Después, en /etc/pam.d/nginx:

auth    required    pam_script.so dir=/path/to/my/auth_scripts

Y escribió más simple /path/to/my/auth_scripts/pam_script_auth (también he probado a escribir scripts complicados)

#!/bin/sh
exit 0 # should allow anyone

No funciona. El script es lanzado (que he escrito funcional completo de script que se ejecuta correctamente, compruebe las credenciales, escribe a su propio registro y devuelve el correcto código de salida, y se ejecuta notablemente de largo). Pero no se otorga el acceso, sólo rechazó.

En /var/log/nginx/error.log aparece esta línea:

2012/09/13 10:44:42 [alert] 1666#0: waitpid() failed (10: No child processes)

Si puedo especificar en /etc/pam.d/nginx:

auth    required    pam_unix.so

y subvención para www-data derecho de usuario a leer /etc/shadow, unix autorización funciona bien. Pero script auth no funciona.

No puedo entender, donde el problema es. Es en el nginx módulo, o en el pam_script módulo?

2voto

mgorven Puntos 19205

El nginx módulo PAM también se ejecuta el PAM account de la operación, por lo que necesita para configurar esto. Usted puede utilizar el pam_permit módulo para siempre tener éxito:

auth    required    pam_script.so dir=/path/to/my/auth_scripts
account required    pam_permit.so

1voto

Koen. Puntos 180

Pruebe las siguientes auth log (tail -f /var/log/auth.log), mientras que la autenticación, se le mostrará todos los pam solicitudes y tal vez también el error/advertencia/excepciones en las que se hará al claro.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: