3 votes

Les autorisations des utilisateurs de MySQL ne fonctionnent pas - autorisation cachée dans mysql.db

Un utilisateur mysql se connecte de Server2 à Server1 via SSL (mysql 5.0.77).

Voici les subventions pour cet utilisateur sur le serveur 1, (le serveur 2 a une ip dans la plage xx.xx.xx.%)

mysql> show grants for user@'xx.xx.xx.%';
+-------------------------------------------------------------------------------------------------------------------------------+ 
| Grants for user@xx.xx.xx.%                                      |
+-------------------------------------------------------------------------------------------------------------------------------+ 
| GRANT USAGE ON *.* TO 'user'@'xx.xx.xx.%' IDENTIFIED BY PASSWORD 'xxx' REQUIRE SSL |

J'ai fait un flush privileges Mais même sans privilèges, je peux afficher les bases de données, les tables et les sélections. Comment est-ce possible ? !!!

J'ai vérifié que dans 'show full processlist' l'utilisateur n'est pas toujours connecté, nouvelle connexion mysql. Une fois la connexion ouverte, je fais un 'show grants', la permission effective est la même... USAGE.

--

La table mysql.db a une entrée pour cet utilisateur qui dit qu'il a select, insert, update et delete dans la base de données. S'agit-il d'une sorte de table de permission cachée ? Comment ces permissions ont-elles pu se retrouver là au lieu de mysql.user ?

2voto

Adam Points 11

Il est possible que vous ayez probablement un utilisateur anonyme dans mysql.user.

Commençons par le commencement. S'il vous plaît exécuter cette requête :

SELECT USER(),CURRENT_USER();

UTILISATEUR() rapporte comment vous avez tenté de vous authentifier

CURRENT_USER() rapporte comment mysqld a autorisé l'authentification

Si la deuxième fonction révèle un utilisateur bizarre, il y a de fortes chances que ce soit l'utilisateur anonyme.

Consultez ma réponse à DBA StackExchange sur la façon dont MySQL procède à l'authentification des utilisateurs, ainsi que sur la façon et la raison de supprimer les utilisateurs anonymes. .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X