Comment changer le mot de passe user UNIX à l'aide de passwd si l'user est stocké dans une database MySQL?

J'essaie de configurer libnss-mysql et libpam-mysql . Jusqu'à présent, tout a fonctionné. Je peux utiliser id pour get des informations sur les users stockés dans mes bases de données. getent passwd fonctionne aussi. Cependant, l' getent shadow n'est pas. En outre, je ne suis pas en mesure de modifier les passwords des users stockés dans la database en utilisant passwd . Existe-t-il un moyen de résoudre ces problèmes?

Btw., J'utilise Ubuntu 10.04 comme une machine virtuelle minimale.

Mettre à jour

Les seuls files de configuration que j'ai changés étaient /etc/nss-mysql.conf , /etc/nss-mysql-root.conf et /etc/nsswitch.conf . Je suis sûr que les deux premiers sont corrects. Puisqu'ils configurent simplement la façon dont la database est accessible. Je n'ai ajouté que le mot "mysql" aux trois lignes suivantes du dernier:

 passwd: compat mysql groups: compat mysql shadow: compat mysql 

Je n'ai touché aucun autre file de configuration. Si l'un d'entre vous a besoin de voir un autre file, faites-le moi savoir, car maintenant, je n'ai aucune idée de quel autre file de configuration pourrait être intéressant.

Normalement, l' getent shadow ne renverra rien à less que vous ne soyez root.

Vous devez modifier la configuration PAM dans /etc/pam.d pour utiliser le module mysql PAM.

Ensuite, vous pourrez modifier les passwords avec la command normal passwd .