Services webmasters
Partenaires
Jeux concours gratuits
 
Limiter les ressources utilisateurs
<<<
Configurer les mots de passe Garder vos mots de passe en lieu sûr
>>>

4.3 Gestion des comptes utilisateurs de MySQL
4 Administration du serveur
 Manuel de Référence MySQL 4.1 : Version Française

Syntaxe de GRANT et REVOKE
Nom d'utilisateurs MySQL et mots de passe
Quand les modifications de privilèges prennent-ils effets ?
Création des premiers droits MySQL
Ajouter de nouveaux utilisateurs à MySQL
Limiter les ressources utilisateurs
->Configurer les mots de passe
Garder vos mots de passe en lieu sûr
Utilisation des connexions sécurisées

4.3.7 Configurer les mots de passe

Dans la plupart des cas, vous devez utiliser la commande GRANT pour configurer les utilisateurs et leur mot de passe. Les explications suivantes s'adressent donc aux utilisateurs avancés. Syntaxe de GRANT et REVOKE .

Les exemples des sections précédentes illustrent un principe important : lorsque vous stockez un mot de passe important avec les commandes INSERT ou UPDATE , vous devez utiliser la fonction PASSWORD() pour le chiffrer. Ceci est dû au fait que la table user stocke les mots de passe sous une forme chiffrée, et non pas en texte clair. Si vous oubliez cela, vous risquez de configurer vos mots de passe comme ceci :

shell> mysql -u root mysql
mysql> INSERT INTO user (Host,User,Password)
    -> VALUES('%','jeffrey','biscuit');
mysql> FLUSH PRIVILEGES;
Le résultat est que la valeur 'biscuit' est stockée dans la colonne de mot de passe de la table user . Lorsque l'utilisateur jeffrey tente de se connecter au serveur avec ce mot de passe, le client mysql chiffre ce mot de passe avec la fonction PASSWORD() , génère un vecteur d'identification basé sur la version chiffrée du mot de passe et un nombre aléatoire, obtenu du serveur, puis envoie le tout au serveur. Le serveur utilise la valeur du mot de passe password dans la table user (ce qui n'est pas la valeur chiffrée de 'biscuit' ) pour effectuer la recherche et comparer les résultats. La comparaison échoue et le serveur rejette la connexion :

shell> mysql -u jeffrey -pbiscuit test
Access denied
Les mots de passe doivent donc être chiffrés lors de leur insertion dans la table user . Aussi les commandes INSERT doivent être spécifiées comme ceci :

mysql> INSERT INTO user (Host,User,Password)
    -> VALUES('%','jeffrey',PASSWORD('biscuit'));
Vous devez aussi utiliser la fonction PASSWORD() lorsque vous utilisez la commande SET PASSWORD :

mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
Si vous modifiez les mots de passe en utilisant la commande GRANT ... IDENTIFIED BY ou la commande mysqladmin password , la fonction PASSWORD() n'est pas nécessaire. Ces commandes assureront le chiffrement de votre mot de passe pour vous, ce qui vous permet de spécifier le mot de passe de 'biscuit' comme ceci :

mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
or

shell> mysqladmin -u jeffrey password biscuit
Note : PASSWORD() n'effectue pas le chiffrement du mot de passe de la même façon qu'Unix. Il ne faut pas supposer que si vos mots de passe Unix et MySQL sont les mêmes, la fonction PASSWORD() retournera la même valeur que celle qui est stockée dans le fichier de mots de passe d'UNIX. Noms d'utilisateurs MySQL et mots de passe .

<< Configurer les mots de passe >>
Limiter les ressources utilisateurs Gestion des comptes utilisateurs de MySQL Garder vos mots de passe en lieu sûr
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -