MySQL zeigt allen Usern alle Datenbanken

MySQL, PostgreSQL, SQLite
blubber
Posts: 53
Joined: 2004-08-18 14:39

MySQL zeigt allen Usern alle Datenbanken

Post by blubber » 2005-10-01 13:39

Hallo,

ich habe ein kleines Problem mit MySQL. Führt man den Befehl "show databases;" aus, so werden einem alle Datenbanken (auch die, auf die man keine Zugriffsrechte hat) angezeigt. Der Zugriff auf Datenbanken funktioniert glücklicherweise aber nur, wenn man die entsprechenden Berechtigungen hat.
Woran kann es liegen, dass alle Datenbanken angezeigt werden?

Danke im Vorraus!

Jan

jhnet
Posts: 98
Joined: 2004-07-20 11:43

Re: MySQL zeigt allen Usern alle Datenbanken

Post by jhnet » 2005-10-06 13:51

Hallo,

ich vermute dass Du für die entsprechenden Nutzer in der Datenbank "mysql", Relation "user" das Feld "show_db_priv" auf "N" setzen musst, nach einem "flush privileges" sollte es funktionieren.

Bye,
Jörg

lord_pinhead
Posts: 774
Joined: 2004-04-26 15:57

Re: MySQL zeigt allen Usern alle Datenbanken

Post by lord_pinhead » 2005-10-06 14:18

Wenn du von einer alten Version geupdatet hast, wirst du diese Tabelle nicht finden. Das Problem hatte ich auch, mach ein mysql_fix_privilege_tables <rootpw> und wenn es durchgelaufen ist , ist diese Tabelle vorhanden mit Option N. Sollten die anderen User trotzdem andere Datenbanken sehen, musst du folgedens machen:

Code: Select all

REVOKE ALL PRIVILEGES ON * . * FROM '<benutzername>'@'localhost';

REVOKE GRANT OPTION ON * . * FROM '<benutzername>'@ 'localhost';

GRANT USAGE ON * . * TO '<benutzername>'@ 'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
Und das für jeden User. War nach dem Update von Woody auf Sarge recht nervig bei mir, aber das ist nur einmal zu machen.

Btw.: Ein einfaches Flush Privileges hat bei mir damals nicht geholfen, warum auch immer. Ich musste 30 Benutzer einzeln abändern. Versuch es aber auf jeden Fall.

blubber
Posts: 53
Joined: 2004-08-18 14:39

Re: MySQL zeigt allen Usern alle Datenbanken

Post by blubber » 2005-10-06 19:30

Sieht so aus, als ob bei mir nur die Aufwendige Methode nützen kann. Werde ich mal ausprobieren, ob es tatsächlich geht. Ansonsten schonmal Danke für die Hinweise.

Und es ist wirklich nicht möglich, die Befehle für alle Benutzer auf einmal auszuführen?

lord_pinhead
Posts: 774
Joined: 2004-04-26 15:57

Re: MySQL zeigt allen Usern alle Datenbanken

Post by lord_pinhead » 2005-10-06 20:26

Ne, Wildcards haben bei mir nicht geholfen. Ausserdem würdest du dem root-user damit auch alle Rechte entziehen.

blubber
Posts: 53
Joined: 2004-08-18 14:39

Re: MySQL zeigt allen Usern alle Datenbanken

Post by blubber » 2005-10-07 14:53

An den root-User hatte ich natürlich nicht gedacht. Käme wohl nicht gut, wenn ich mir selbst alle Rechte entziehe.

Hab das ganze jetzt mal an einem User ausprobiert und es geht.

Danke für die Hilfe!