-
mysql role privileges
Bonjour à tous,
Je fais appel au forum afin d'enlever quelques ambiguïtés sur les rôles et privilèges dans mysql. En fait, ce n'est pas très clair pour moi et je ne vois pas trop l'intérêt. Vous allez certainement me donner de bons arguments ;).
Bref, si à partir de mon application php j'effectue des : insert, load data infile, update, delete et des select. Est ce que sur mon serveur je dois créer un nouveau user qui a tous ces privilèges : GRANT ALL PRIVILEGES ON joe?
Ou bien si je me connecte avec l'user root c'est bon aussi sans créer de nouveaux users ?
Est ce que ça vaut le coup que je créée un user qui n'a que le privilège SELECT ?
En espérant avoir des réponses.
Merci.
;)
-
Par défaut le user root a tous les droits. Donc à moins que tu les aies toi-même changer, tu devrais pouvoir tout faire avec le root. Souvent c'est ce que l'on fait quand on a pas envie de s'embêter, mais niveau sécurité c'est moyen, car le root a aussi le droit de détruire ta base de données. Vaut mieux que ton script soit fiable dans ce cas (pas d'injection SQL), sinon ça craint un peu.
Le plus propre selon moi est de créer un user qui a les droits qui vont bien, et uniquement ceux là, pour accéder à ta base de données.
En espérant t'avoir aidé...
-
Comme cela a été dit root à tous les droits, c'est le super administrateur, il peut tout supprimer s'il a envie (comme le root sous linux si tu connais).
Dans un contexte personnel, on n'a pas forcément besoin de plusieurs utilisateurs, j'ai toujours utilisé seulement root, après c'est dangereux... tu effectue une requête de delete mal, et tu peux éventuellement supprimer toute ta base de données. Donc, je l'ai fait, parce qu'on ne m'a jamais vraiment expliqué, mais je te conseille de ne pas le faire, ça peut t'éviter des erreurs, si tu veux faire une suppression, tu passes en root à ce moment là, sinon tu utilises un autre user.
Les droits peuvent aussi servir dans le cas où on est plusieurs sur la base de données, l'user toto, l'user moi, l'user patate.
Si patate ne fait que des update et des insert dans la bdd, il est totalement inutile de lui donner les droits de suppression.
Si tu es seul, les droits sont là pour te protéger d'éventuelles erreurs que tu peux faire ! Si vous êtes plusieurs, ça peut être pour empêcher quelqu'un de faire quelque chose qu'il ne devrait pas avoir le droit de faire.
-
Bonjour,
Chacun son choix, pour ma part je suis strictement contre la dispersion en matière de sécurité, donc tout dans, et uniquement dans mes PHP.
Ceci souligne un énorme avantage, toute l'admin se faisant par PHP, seul toi et uniquement toi possèdes le login à phpmyadmin ou à MySql ...
Rien de ta gestion n'est lié à la remise d'un login MySql.
Donc dans tes profils, (par exemple un forum) il te suffit dans le champ des datas USER d'avoir "rang" et mettre M pour modérateur A pour admin etc ...
ensuite tes php bloquent (limitent les actions par un simple
if ($rang=="M") .... alors etc...