Estou tentando executar um script durante o processo de login usando PAM e libpam_exec;
Eu adicionei esta linha ao arquivo desejado em /etc/pam.d /:
auth required pam_exec.so debug log=/var/log/debug /usr/local/bin/test.sh
e apenas para testar se estava funcionando, o script é assim:
#!/bin/bash
## do nothing, except return success (allow login..)
exit 0;
no entanto, o cliente é rejeitado com "erro crítico" e o log de depuração relata esse erro estranho:
bash: xmalloc: ../bash/locale.c:73: cannot allocate 2 bytes (0 bytes allocated)
Procurei em todos os lugares e não consegui encontrar nada de útil nesse problema em particular. O registro de depuração é incrivelmente vago e não sei ao certo para onde ir a partir daqui?
Eu pensei em (como último recurso) desenterrar o código-fonte para bash para ver o que está na linha 73 do locale.c .. ou simplesmente usar outro módulo ... mas eu tenho vários planos para o pam_exec, e eu não particularmente gosto da implementação de (por exemplo) pam_script.
Alguém tem alguma sugestão?
nota: executando o Ubuntu 12.04 lts
Tags bash pam ubuntu ubuntu-12.04