Gestion des droits

Fermé
lefreeman63 Messages postés 136 Date d'inscription mercredi 20 avril 2011 Statut Membre Dernière intervention 11 février 2016 - 19 févr. 2013 à 11:52
lefreeman63 Messages postés 136 Date d'inscription mercredi 20 avril 2011 Statut Membre Dernière intervention 11 février 2016 - 20 févr. 2013 à 10:14
Salut à tous,

Je dois avouer que je commence à coincer.
Je cherche à restreindre les accès a un des utilisateur de ma base de données.

Voici ma Database
mysql> show tables;
+-------------------+
| Tables_in_metaweb |
+-------------------+
| Acl               |
| Action            |
| CartContent       |
| CartTable         |
| CatMap            |
| CatTable          |
| DeleteList        |
| DmsDoc            |
| DocRes            |
| Event             |
| FilterMap         |
| GroupMember       |
+-------------------+

Actuellement mon utilisateur Toto peut faire un
Select
sur toutes ces tables.

Je cherche a ce que mon utlisateur ne puissent faire que des Select sur la table
DmsDoc 
et
DocRes


Il faudrait que je lui cartonne tous les droit sur les autre tables.

ES-ce que quelqu'un aurait une solution magique svp?

Merci d'avance

3 réponses

Célien Messages postés 5729 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 9 septembre 2021 1 991
19 févr. 2013 à 15:31
Salut,

Tu donne les droits en "SQL Grant", voir ce cours SQL.
1
goldray Messages postés 82 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 1 juin 2014 8
19 févr. 2013 à 19:26
Bonsoir,
Vous devez supprimer tous les priviléges de l'utilisateurs toto sauf pour les 2 tables DmsDoc et DocRes :
revoke select on Acl from toto;
revoke select on Action from toto;

etc
// de même pour les autres tables sauf les 2 tables DmsDoc et DocRes
0
lefreeman63 Messages postés 136 Date d'inscription mercredi 20 avril 2011 Statut Membre Dernière intervention 11 février 2016
20 févr. 2013 à 10:14
Merci beaucoup pour ta réponse.

Le cours m'a bien aidé. Cependant je rencontre encore quelque problème.

Voici les droits du user:

mysql> show GRANTS;
+-----------------------------------------------------------------------------------------------------------------+
| Grants for toto@localhost                                                                                   |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'toto'@'localhost' IDENTIFIED BY PASSWORD '*E44D9666DA9CD6F9A2EDBA76C2E75ADF24886' |
| GRANT SELECT ON 'database1'.* TO 'toto'@'localhost'                                                           |
+-----------------------------------------------------------------------------------------------------------------+


j'ai fais un REVOKE sur le select:
REVOKE SELECT ON 'database1'.* FROM 'toto'@'localhost';

Qui a disparu.

Cependant même après reboot de la base mon user peut quand même faire des select sur toutes les tables de cette database.

Je me demande donc ce que la ou j'ai pu me tromper?
0