Forum Programmation.shell Mot de passes md5 MySQL vs /etc/shadow

Posté par  .
Étiquettes : aucune
0
9
mai
2005
Bonjour,

Je cherche à synchroniser de manière simple et transparente pour les utilisateurs une liste d'users stockée dans une base MySQL, avec username et password crypté avec la fonction md5 de mysql.

En gros, je vourais faire un script qui régulièrement rajouter les nouveaux user sur le système à partir des données de la base.
Comme le hash des mdp est dans les deux cas md5 je me dit que à priori ça doit être possible de les utiliser dans les /etc/shadow..
Cepedant, il s'avère que la fonction de hash md5 du système utilise une graine, notée entre les $..$ du début du mdp alors que mysql utilise une version sans graine..

Un idée sur comment faire si c possible?


Romain
  • # Pas possible ?

    Posté par  . Évalué à 4.

    Salut,

    Comme le hash des mdp est dans les deux cas md5


    Non! Mysql conserve dans ses tables système (mysql.user) le md5 du mot de passe, en revanche, linux conserve dans /etc/shadow un md5 du crypt du mot de passe (cf le man de crypt :[...] crypt is the password encryption function. It is based on the Data Encryption Standard algorithm with variations intended[...]). Il me parait donc difficile de synchroniser les deux. Pour info, Mysql dispose de la fonction ENCRYPT(str[,salt]) qui devrait t'être plus utile ;-P.

    En revanche, tu peux éviter la synchro en utilisant un module pam (genre http://sourceforge.net/projects/pam-mysql/(...) ;-)) pour réaliser l'authentification linux directement sur le serveur mysql :-) Moi je le fait avec le module pam-lda, ca marche bien et ca soulage beaucoup la gestion des utilisateurs (va voir sur mon blog pour un tuto, à adapter pour mysql).

    Jay
  • # J'ai reussi!

    Posté par  . Évalué à 2.

    Bon, apres pas mal de --help de man et de google, j'ai reussi a faire unifier les logins du site php/mysql avec ceux du systeme.

    Si ca interesse qq1 je peux faire un tuto..

    R

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.