Alguém configurou essa configuração? Não está funcionando para mim.
Eu instalei o nginx-extras no Ubuntu 12.04 (ele é construído com o módulo PAM) e adicionei a configuração do site:
location ^~ /restricted_place/ {
auth_pam "Please specify login and password from main_site";
auth_pam_service_name "nginx";
}
Depois, em /etc/pam.d/nginx
:
auth required pam_script.so dir=/path/to/my/auth_scripts
E escrevi o mais simples /path/to/my/auth_scripts/pam_script_auth
(também tentei escrever scripts complicados)
#!/bin/sh
exit 0 # should allow anyone
Não funciona. O script é iniciado (escrevi script funcional completo, que executa com êxito, verifica as credenciais, grava em seu próprio log e retorna o código de saída correto, além de ser consideravelmente longo). Mas nenhum acesso é concedido, apenas rejeitado.
Em /var/log/nginx/error.log
aparece esta linha:
2012/09/13 10:44:42 [alert] 1666#0: waitpid() failed (10: No child processes)
Se eu especificar em /etc/pam.d/nginx
:
auth required pam_unix.so
e conceda o direito de usuário www-data
de ler /etc/shadow
, a autorização unix funciona bem. Mas a autenticação do script não funciona.
Eu não consigo entender, onde está o problema. Está no módulo nginx ou no módulo pam_script?