I. Comptes Crées
En root ,sur un terminal l’administrateur qui veut partager une de ses base de données, écrit ces commandes:
- mysql
- CREATE USER ‘clement’@’10.229.187.129’ IDENTIFIED BY ‘password’;
- GRANT SELECT,INSERT ON dbsport.* TO ‘clement’@’10.229.187.129’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
- ^ Z(pour sortit de mysql)
- Aller à la racine du projet (ici root@HTTPS-4668:/#)
- cd etc/mysql/mariadb.conf.d/
- nano 50-server.cnf
- Commenter ligne bind adresse avec # au début de la ligne
- ^S ^X
- systemctl restart mariadb
Pour que « clement » récupère et voit le projet,il doit sur son terminal taper ces commandes en root:
- mysql -h 10.229.187.248 -u clement -p
- show databases;
II. Options GRANT Possibles
GRANT permet de donner des droits précis à un utilisateur donné.
Avec la commande « WITH GRANT OPTION; »,je peux donner à une tiers personne des droits qu’elle peut décider ou non de donner à son tour à d’autres utilisateurs.
On peut aussi donner des précisions à la fin de la commande tels que:
- * -> cette commande permet de donner toutes les bases de données dont tout les objets.
- *.* -> cette commande est une précision de * car elle retourne tout les objets et tout ce qu’ils contiennent.
- bd.* -> cette commande donne toutes les tables qu’il y a dans la base de données nommée « bd ».
III. Scénario de Test
On va ici tester plusieurs cas pour découvrir certains cas où GRANT est bien utiles:
- Le cas d’une personne qu’on veut inclure dans un projet(WITH GRANT OPTION;)
GRANT SELECT,INSERT ON dbsport.* TO ‘clement’@’10.229.187.129’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
- Le cas d’un utilisateur lambda ‘user’ ayant ce mot de passe ‘motdepasse’ auquel l’administrateur lui donne accès ,qu’à cette utilisateur,que à la base de donnée nommée « db »
GRANT SELECT,INSERT ON db.* TO ‘clement’@’10.229.187.129’ IDENTIFIED BY ‘password’;
- Le cas d’un administrateur ’emilie’ ayant ce mot de passe ‘mdp’ et voulant travailler depuis chez elle sur une autre machine(GRANT all)
GRANT ALL PRIVILEGES ON *.* TO ’emilie’@’localhost’ IDENTIFIED BY ‘mdp’;