Verwenden von pam_exec.so für die Openvpn-Authentifizierung

1809
davidparks21

Ich habe eine PAM-Authentifizierungskonfiguration für OpenVPN eingerichtet.

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

Das Skript pamauthkehrt 0zum Erfolg zurück. Ich vergewissere mich, dass dies der Fall ist, indem der Wert auch aus dem pamauthSkript in eine Datei übernommen wird .

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

Die Authentifizierung schlägt jedoch fehl, und das auth.logzeigt Folgendes, obwohl ich deutlich erkennen kann, /tmp/resultdass mein pamauthSkript ausgeführt und aufgerufen wurdeexit 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)) 
0

1 Antwort auf die Frage

0
grawity

Die Fehlermeldung nicht einmal erwähnt pam_exec .

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

Das Problem liegt in der Account Management ( account) - Phase. (Wenn die Konfiguration für pam.d/openvpnkeine accountModule enthält, verwendet PAM die in pam.d/other. Konfigurierten .)

"Benutzer konnte nicht identifiziert werden" bedeutet, dass das pam_unixModul das Benutzerkonto test40im System nicht finden konnte . Wenn Sie kürzlich bearbeitet haben nsswitch.conf, müssen Sie möglicherweise OpenVPN neu starten.