Usando pam_exec.so para autenticação openvpn

0

Eu configurei uma configuração de autenticação do PAM para o OpenVPN.

auth required pam_exec.so debug expose_authtok /opt/openvpn/bin/pamauth

O script pamauth retorna 0 no sucesso. Eu verifico que isso é verdade também ecoando o valor para um arquivo do script pamauth .

<user authentication process>
echo $EXIT_CODE >/tmp/result       #yields a '0' in /tmp/result
exit $EXIT_CODE

Mas a autenticação falha e o auth.log mostra o seguinte, embora eu possa ver claramente em /tmp/result que meu script pamauth foi executado e chamado exit 0

Jul  5 09:53:29 client openvpn: pam_exec(openvpn:auth): send password to child
Jul  5 09:53:29 client openvpn: pam_exec(openvpn:auth): Calling /opt/openvpn/bin/pamauth ...
Jul  5 09:53:29 client openvpn: pam_unix(openvpn:account): could not identify user (from getpwnam(test40))
    
por davidparks21 05.07.2011 / 05:09

1 resposta

0

A mensagem de erro nem sequer menciona pam_exec .

Jul  5 09:53:29 client openvpn: pam_unix(openvpn:account): could not identify user (from getpwnam(test40))

O problema está no estágio de gerenciamento de conta ( account ). (Se a configuração de pam.d/openvpn não tiver nenhum módulo account , o PAM usará os configurados em pam.d/other .)

"Não foi possível identificar usuário" significa que pam_unix module não encontrou a conta de usuário test40 no sistema. Se você editou recentemente nsswitch.conf , talvez seja necessário reiniciar OpenVPN.

    
por 05.07.2011 / 17:31