pam_exec.so O módulo PAM não exporta a variável PAM_USER conforme declarado na documentação

2

Estou tentando usar o módulo pam_exec.so PAM para executar um script que precisa saber o nome de usuário / senha que vem do aplicativo (OpenVPN, neste caso).

Eu tenho um script que executa printenv >>afile , mas eu não vejo todas as variáveis de ambiente que o man pages declara que pam_exec.so exporta (ou seja, PAM_USER eu acho), eu só vejo o seguinte:

PAM_SERVICE=openvpn
PAM_TYPE=auth
PWD=/usr/local/openvpn/bin
SHLVL=1
A__z="*SHLVL

Eu pego com sucesso a senha do STDIN e imprimo com este mesmo script. Mas para a vida de mim não consigo o nome de usuário.

Alguma ideia sobre o que devo tentar em seguida?

    
por davidparks21 17.06.2011 / 06:54

2 respostas

1

Qual distribuição você está usando? RHEL e CentOS usam pam 0.99. Há atualmente um bug aberto para esse problema ( link ), mas acredito que eles estão usando apenas uma versão antiga do PAM.

    
por 23.11.2011 / 18:44
1

Se você definir pares de valores-chave com o plug-in "openvpn-plugin-auth-pam.so" assim:

plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so "openvpn mykey login myval COMMONNAME"

então ele não define PAM_USER (porque chama pam_start com user = NULL), talvez esse seja o seu problema?

    
por 02.07.2015 / 14:23