O PAM não é um daemon, mas apenas uma biblioteca. Como um usuário normal não tem acesso aos dados de autenticação (como /etc/shadow
), os programas executados sob um usuário normal não podem ser autenticados. Há uma pequena exceção: o usuário pode se autenticar, porque nesse caso o SETGID /sbin/unix_chkpwd é automaticamente chamado, que tem acesso a dados de autenticação (mas não permite autenticar outros usuários).
Então, você precisa dar ao próprio programa direitos de root via sinalizadores SUID (não o recomendo, pois é difícil não abrir um backdoor) para que ele seja executado na raiz ou precise ser autenticado por um serviço de rede ou executando um Programa SUID como su
.
Em esta questão , possíveis soluções são discutidas.