Easy-Micro

ESPACEMEMBRE MySQL/MariaDB
Grant-Revoke

Gestion des privilèges MySQL

Formation MySQL par Easy-Micro Instruction GRANT

La commande GRANT permet de créer des utilisateurs avec privilèges.

Syntaxe de l'instruction GRANT
GRANT privilège ON matable TO username [IDENTIFIED BY `password`]
[WITH GRANT OPTION]

Le mot clé privilège est soit une liste de privilèges séparés par des virgules, soit le mot clé USAGE qui permet de créer un utilisateur sans lui attribuer de privilèges.

mysql> GRANT create, select, show databases ON *.* TO titi@localhost IDENTIFIED BY 'pass123';

La close optionnelle WITH GRANT OPTION accorde le droit à l'utilisateur de donner ses propres privilèges à d'autres utilisateurs.

mysql> GRANT all ON *.* TO tutu@easy-micro.org IDENTIFIED BY 'pass123';
Attention: sans mot de passe (et l'instruction IDENTIFIED BY), création pas accepté!
Afficher les privilèges de l'utilisateur ROOT (Attention: GRANTS avec un s):
mysql> SHOW GRANTS FOR root@localhost;

Les caractères *.* peut remplacer le mot clé matable. Par exemple, mabase.* représente toutes les tables de mabase.

Deux exemples de création d'un utilisateur (titi et toto)
mysql> GRANT USAGE ON mabase.* TO titi@localhost IDENTIFIED BY 'pass123';
Le mot clé USAGE permet de créer un utilisateur sans lui attribuer de privilèges.
mysql> GRANT USAGE ON *.* TO toto@"%.easy-micro.com" IDENTIFIED BY 'monpass';
Attention: sans mot de passe, création pas accepté! L'utilisateur toto peut ici se connecter depuis toutes les machines du domaine easy-micro.org (remarquons les doubles quottes utilisées pour que MySQL accepte le symbole %)
Exemple pour donner les privilèges de sélection, d'insertion et maj sur toutes bases:
mysql> GRANT select, insert, update ON *.* TO titi@localhost;

Formation MySQL par Easy-Micro Instruction REVOKE

La commande REVOKE permet de révoquer - supprimer - des privilèges

Syntaxe de l'instruction REVOKE
REVOKE privilège ON matable FROM username

Le mot clé privilège est soit une liste de privilèges séparés par des virgules, soit le mot clé all qui permet de supprimer tous les privilèges d'un utilisateur.

Exemple pour retirer les privilèges d'insertion et mise à jour:
mysql> REVOKE insert, update ON *.* TO tutu@easy-micro.org;
Exemple de suppression de tous les privilèges d'un utilisateur
mysql> REVOKE all ON *.* FROM tutu@easy-micro.org;

Formation MySQL par Easy-Micro Modification du mot de passe d'un utilisateur

Chaque utilisateur (sauf l'utilisateur anonyme) peut modifier son mot de passe et, s'il en a le privilège, il peut modifier les mots de passe des autres utilisateurs.

mysql> SET PASSWORD FOR titi@localhost=PASSWORD('newpassword');
Note la fonction PASSWORD() permet d'encrypter le mot de passe.
Exemple pour créer un mot de passe de root
mysql> SET PASSWORD FOR root@localhost=PASSWORD('secret');
MySQL stocke les mots de passe sous forme crypté afin qu'ils ne soient pas lisibles (pas possible de décrypter).
Deux exemples de requête de modification du mot de passe d'un utilisateur
mysql> SET PASSWORD FOR titi@easy-micro.org=PASSWORD('newpassword');
mysql> UPDATE user SET password=PASSWORD('newpassword') where user='tutu' AND host=localhost;

Note: Pour supprimer un utilisateur, on utilise l'instruction sql :
DELETE FROM user WHERE user='titi';

Flux RSS Easy-Micro - Abonnez-vous Easy-Micro [ François Bisch ]