web-dev-qa-db-fra.com

Comment utiliser PAM avec MySQL (sur Xenial)?

J'utilise Ubuntu 16.04 et j'ai installé libpam-mysql et pamtester. Pour tester le module, j'ai essayé d'exécuter la commande suivante:

pamtester --item user=X --item passwd=X --item Host=127.0.0.1 --item db=X --item table=X --item usercolumn=X --item passwdcolumn=X --item crypt=1 mysql branja authenticate

Mais cela revient toujours avec le message d'erreur:

pamtester: Unknown item type "passwd"

Je peux vous assurer que toutes les informations de connexion que j'ai spécifiées sont valides, mais l'authentification échoue avant même d'arriver à ce stade. Je n'arrive pas à trouver d'informations sur les paramètres requis, si ce n'est ceux que j'ai fournis.


J'ai aussi essayé de mettre le texte suivant dans /etc/pam.d/mysql:

auth required pam_mysql.so user=X passwd=X Host=127.0.0.1 db=X table=X usercolumn=X passwdcolumn=X crypt=1
account sufficient pam_mysql.so user=X passwd=X Host=127.0.0.1 db=X table=X usercolumn=X passwdcolumn=X crypt=1

Mais cela aboutit toujours à un échec d'authentification, probablement pour la même raison que l'exemple ci-dessus?

1
Jared Brandt

Sensationnel.

Après avoir parcouru /var/log/auth.log et vu le message suivant, j'ai finalement compris que cela était dû à un bogue dans le package libpam-mysql.

PAM unable to dlopen(pam_mysql.so): /lib/security/pam_mysql.so: undefined symbol: make_scrambled_password
PAM adding faulty module: pam_mysql.so

Une solution, pour tous les intéressés, consiste à désinstaller le libpam-mysql officiel et à utiliser n paquet non officiel qui corrige ce bug.

[ Source ]

1
Jared Brandt