O PAM não autentica com o mysql (make_scrambled_password descontinuado)

1

Eu passei algum tempo procurando por isso e parece que eu sou o único que está tendo problemas com o PAM não autenticando através do mysql devido às atualizações atuais, então eu pensei em postar meu problema aqui e se eu encontrar a solução eu postarei aqui bem como outros a seguir.

Em suma - eu estou executando o postfix com saslauthd e dovecot. Ambos estão autenticando através do pam usando o mysql como fonte de credenciais.

Tudo estava funcionando bem até hoje atualizar - não consigo mais me conectar ao servidor de e-mail e aqui está o que eu vejo nos registros:

PAM unable to dlopen(/usr/lib/security/pam_mysql.so): /usr/lib/security/pam_mysql.so:     undefined symbol: make_scrambled_password
PAM adding faulty module: /usr/lib/security/pam_mysql.so
DEBUG: auth_pam: pam_authenticate failed: Module is unknown
do_auth         : auth failure: [user=xxxx] [service=smtp] [realm=xxxx] [mech=pam] [reason=PAM auth error]

Então, posso estar errado, mas, para meu entendimento, o pam_mysql.so está usando make_crambled_password obsoleto que não é mais suportado pelo mysql.

Eu não sei qual seria a solução e apreciaria se alguém pudesse aconselhá-la.

Eu verifiquei o código-fonte na página do projeto e posso ver que a função reprovada está sendo usada. Então, isso parece ser um bug no pam_mysql e a atualização será necessária ([bug relatado na página pam_mysql sourceforge] [1] bem como no bug do arquivador de bug da comunidade ( link )

Já vi alguns patches de solução alternativa na Internet ( link ), no entanto, Não tenho certeza se isso é adequado para o ambiente de produção. Parece que vou ter que corrigir isso sozinho. Vou postar patch aqui para os outros usarem.

Muito obrigado, Greg

    
por Greg0ry 27.02.2014 / 00:36

1 resposta

0

O suporte para o pam_mysql foi descartado devido ao projeto estar inativo por quase 6 anos. A solução será migrar e usar outro backend de pam.

Eu estava usando cyrus sasl - que agora foi desinstalado e substituído pelo dovecot que fornece backend de autenticação smtpd reconhecido pelo postfix. Eu configurei o dovecot para usar o sql nativamente (sem o pam no meio).

    
por 01.03.2014 / 23:43