Sinopse :
Eu gostaria de usar o PostgreSQL como servidor de autenticação para meus usuários de Linux via PAM. Para este propósito, eu uso a biblioteca libnss-pgsql2. A distribuição do Linux é o Ubuntu 14.04.
Até agora, configurei com sucesso a estrutura do banco de dados e fiz a configuração necessária no nsswitch. Eu também adicionei usuários de teste ao meu banco de dados. Os seguintes comandos são bem-sucedidos:
$ id testuser
uid=1005(testuser) gid=30000(testgroup) groups=30000(testgroup)
$ getent passwd
testuser:x:1005:30000::/home/test:/bin/bash
O diretório inicial, no entanto, não é criado automaticamente. Então criei manualmente e tornei o mundo legível por enquanto.
Problema :
O login do sistema é bem-sucedido ou parece que sim, mas assim que a autenticação é feita, o terminal fica ocioso e o prompt de comando não retorna:
login as: testuser
[email protected]'s password:
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-143-generic i686)
* Documentation: https://help.ubuntu.com/
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
Last login: Mon Mar 12 14:56:10 2018 from 192.168.56.1
Após a última linha, nada é mostrado.
Acredito que a autenticação é bem-sucedida com base no que vejo no arquivo auth.log:
Mar 12 15:06:33 Ubuntu-Test lightdm: pam_unix(lightdm-greeter:session): session opened for user lightdm by (uid=0)
Mar 12 15:06:34 Ubuntu-Test lightdm: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
Mar 12 15:06:34 Ubuntu-Test lightdm: PAM adding faulty module: pam_kwallet.so
Mar 12 15:06:35 Ubuntu-Test lightdm: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "secadmin"
Na minha primeira tentativa, insiro deliberadamente uma senha errada que é recusada. Na minha segunda tentativa, a senha correta é inserida e uma sessão é aberta para o testuser. No entanto, o prompt de comando não é exibido. Eu também tentei enviar um arquivo usando o SSH (scp), mas ele também falhou com o terminal entrando em um estado similar ao anterior.
Qualquer ajuda é muito apreciada.
Atenciosamente