Semble avoir un peu changé : ne suffit plus -> Danger mortel
Bonsoir,
J'arrive sur cet échange, parce que cette question était réglée pour ma part, je pensais, depuis dix ans à peu près.
Mais je tombe sur un problème nettement plus compliqué, semble-t-il, avec la version récente Easyphp Devserver 16.1 (à moins que cf. note 2)
Le changement de mot de passe effectué de cette manière aboutit à un signalement de "Danger" de la part de phpmyadmin qui précise :
attention vous changez le mot de passe de l'utilisateur courant.
Ca c'est bien, mais on ne peut pas, à ce stade, annuler l'opération, mais qui plus est, après avoir simultanément modifié le "config_inc.php", en relançant phpmyadmin, on obtient alors
- l'annonce suivante : :oops:"privilèges insuffisants" pour administrer les utilisateurs
- la disparition des bases créées antérieurement : devenues invisibles
Ensuite, en voulant, procéder peut-être maladroitement, à l'utilisation de la sécurité 'cookie' pour test, après le log généré par le mode cookie, et un redémarrage de base :
'root' a perdu tous ses privilèges, le message devient : :oops:"l'utilisateur root n'a aucun droit"
Il n'y a donc plus aucun d'accès valide d’administrateur à MySQL (ce qui se manifeste par le fait que l'action 'STOP' de mysql sur l'administrateur Easyphp n'a plus d'action).
A ma connaissance, il n'y a plus, à ce stade aucune autre solution que la réinstallation complète et le rechargement des bases, en effet :
MYSQL n'a, semble-t-il, pas reçu la définition des droits de 'root' lors du changement de mot de passe de l'utilisateur administrateur courant 'root' ce qui à mon sens devrait être purement et simplement impossible.
En effet MySQL n'a alors plus, je pense, aucun administrateur qui puisse y accéder et est définitivement fermé.
;)La solution, pourrait être :
- Introduction dans phpmyadmin de l'impossibilité de pratiquer au changement de l'utilisateur courant, pas une simple alerte.
- Et, pour la procédure (de toute manière) :
- Création d'un utilisateur de nom différent avec tous les droits et un mot de passe (voir note 3 sur les équivalences)
- Changement de config.inc.php qui loggera phpmyadmin avec ce nouvel utilisateur.
- Avec le nouvel utilisateur 'validé' (vérifier) : changement du mot de passe de 'root'
- Changer éventuellement, à nouveau, config.inc.php (mais il n'y a pas de raison de ne pas conserver le deuxième admin comme accès via phpmyadmin, au contraire voir note 1)
Citation:
Il convient de noter la remarque :
27/08/2015, 19h09
sabotage
Dans phpmyadmin, menu "utilisateurs", pour la ligne "root / localhost" cliquer sur "changer les privilèges" puis "modifier le mot de passe".
Normalement root a déjà tous les privilèges, alors...
Merci de me confirmer que si accidentellement le mot de passe de 'root' est modifié de manière invalide, alors qu'aucun autre utilisateur "administrateur" n'est encore défini, 'root' peut perdre tous ses droits, sinon je ne vois vraiment pas comment la sécurité d'accès à MYSQL pourrait être garantie.
Le problème nouveau semble être la possibilité de la perte accidentelle des droits de 'root' lors de l'écriture du mot de passe, sans laquelle le problème ne se poserait pas malgré le risque encouru.
Merci d'avance,
Cordialement
Trebly
_____________________________________________________________________
Nota 1 : on a là un problème du même type que celui des administrateurs sous Windows par exemple : pour ma part je fonctionne toujours avec au moins deux administrateurs et un utilisateur avec des droits étendus pour l'activité courante. Le premier des deux administrateurs est le secours si un accident a bloqué les droits de l'autre. Le second pratique toutes les opérations courantes d'administrateur. Je les déclare individuellement pour les droits indépendamment de leur appartenance au groupe "administrateurs". Cela met à l'abri des malveillances.
Nota 2 : Il est possible que dans mes précédentes installations j'ai pratique le flip flop presque par hasard en passant à coté du piège, parce que en vérifiant l'utilisateur courant est toujours resté le deuxième admin et que je crois bien jamais root n'a été utilisé... ou n'a eu à être utilisé
Note 3 : Utilisateur phpmyadmin et mysql : les différents utilisateurs de même nom mais utilisant un host différent et affichés par phpmyadmin ne semblent être qu'un même et unique utilisateur pour MySQL : quand 'root' perd ses droits il semble bien les perdre quelque soit le host équivalent : 127.0.0.1 (IPv4) = :1 (IPv6) = localhost, ce qui parait normal alors que phpmyadmin fait apparaitre trois lignes. On comprend pourquoi quand les host sont vraiment différents alors les droits peuvent l'être.
Remarque : Ce n'est pas pour moi une catastrophe, j'étais en phase de démarrage d'un développement avec les bases stockées par ailleurs. Mais ce problème peut survenir très tard et le travail peut être considérable, sans compter les imprudents...
2 pièce(s) jointe(s)
'root' a perdu ses privilèges eh! oui. Là est le problème
Bonjour,
Je pensais avoir bien expliqué que : au cours de l'opération d'affectation de mot de passe, pour une raison inexpliquée, et là est le problème 'root' avait perdu ses privilèges...
Citation:
C:\Program Files (x86)\EasyPHP-Devserver-16.1-2\eds-binaries\dbserver\mysql5710x
160211162322>bin\mysqld GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH G
RANT OPTION;
mysqld: Could not create or access the registry key needed for the MySQL applica
tion
to log to the Windows EventLog. Run the application with sufficient
privileges once to create the key, add the key manually, or turn off
logging for that application.
C:\Program Files (x86)\EasyPHP-Devserver-16.1-2\eds-binaries\dbserver\mysql5710x
160211162322>
et :
Citation:
C:\Program Files (x86)\EasyPHP-Devserver-16.1-2\eds-binaries\dbserver\mysql5710x
160211162322>bin\mysql -u=root -p
Enter password: ***********
ERROR 1045 (28000): Access denied for user '=root'@'localhost' (using password:
YES)
C:\Program Files (x86)\EasyPHP-Devserver-16.1-2\eds-binaries\dbserver\mysql5710x
160211162322>
et : à partir de phpmyadmin avec le même mot de passe en pj les copies d'écran : message
"aucun privilège"
avec accès 'config' ou 'cookie' Pièce jointe 201382Pièce jointe 201383
Je voudrais bien savoir ce qui s'est passé. J'en suis presque certain mais il faut que je fasse deux re-installations pour reproduire avec copies d'écrans.
Merci d'avance
Cordialement
Trebly
Problème reste sans réponse
Bonjour,
Désolé pour le temps de réaction, j'ai eu une interruption d'un mois.
Exact, en mode commande j'avais écrit u=root ce qui était une erreur (recopiée de ? avec un copier-coller et défaut d'attention)
La situation a été traitée pratiquement en réinitialisant l'installation et en prenant bien garde de ne pas modifier un administrateur courant.
En faisant une bascule d'utilisateur en cours, je n'ai eu aucun problème.
Des test complémentaires visant à reproduire l'erreur pourraient être intéressants.
Il me semble que l'enchainement de modification de mot de passe de root (ou autre équivalent) alors que root (ou autre) est l'utilisateur courant semble pouvoir affecter les droits qui n'ont pas été modifiés ni confirmés.
En effet on valide la modification globale de l'utilisateur et non indépendamment les droits et séparément le mot de passe. Or le changement de mot de passe produit une alerte et la validation se fait par confirmation sur l'alerte. C'est dans cette manip que l'incident a eu lieu.
Je n'ai pas le temps actuellement mais dès que je me retrouverai dans le contexte je tenterait de reproduire les circonstances.
En effet, même si les commandes en ligne peuvent permettre de restaurer les droits de root (à condition de la faire bien), l'interface phpmyadmin indique bien que root n'a aucun droit...
Cordialement
Trebly