Estou tentando fazer com que o PAM use o arquivo "passwd" e "shadow" do sistema de hospedagem para autenticar um usuário que está usando o aplicativo da Web.
Estou usando o RedHat 6, o apache é o 2.2, módulo mod_authnz_pam para o apache.
O PAM no apache (httpd.conf) é configurado da seguinte forma:
<Location />
AuthType Basic
AuthName "basic_auth"
AuthBasicProvider PAM
AuthPAMService httpd
Require valid-user
</Location>
Eu criei um arquivo chamado httpd em /etc/pam.d com a seguinte configuração
auth required pam_unix.so
account required pam_unix.so
session required pam_unix.so
O SELinux está ativado. "getenforce" retorna "Impingir"
Eu também corri
O SELinux está ativo, o getenforce retornou o Enforcing
Eu também corri o seguinte
setsebool -P allow_httpd_mod_auth_pam 1
Então, sou solicitado a solicitar credenciais de usuário quando tento visitar o endereço IP. Mas quando eu entrei na credencial do meu sistema eu recebi os seguintes registros
unix_chkpwd[29856]: check pass; user unknown
unix_chkpwd[29856]: password check failed for user (username)
localhost httpd: pam_unix(httpd:auth): authentication failure;
logname= uid=48 euid=48 tty= ruser= rhost=xxx.xx.xx.x user=username
O SELinux está ativo, o getenforce retornou o Enforcing
Eu também corri o seguinte
setsebool -P allow_httpd_mod_auth_pam 1
meu nome de usuário definitivamente existe no arquivo passwd e shadow, mas de alguma forma o PAM está dizendo que ele não existe.
O que mais eu sinto falta?