Robert R.: MySQL 5.5, Information_Schema, Privileges

Beitrag lesen

Liebe Mitdenker,
liebe Wissende,
liebe Neugierige,

ja!

Wo versteckt sich das delete-Recht für Zeilen in ein einer Tabelle. Auf die Abfrage

Wenn ich mir die (Pseudo-)Tabellen der (Pseudo-)Datenbank information_schema anschaue, sehe ich da nur eine mit dem Namen SCHEMA_PRIVILEGES, die einigermaßen so klingt, als ob sie zielführend wäre, wärend alle anderen wie Sackgassen aussehen oder sind.

Das obere Abfrageergebnis bezieht sich allerdings auch nur auf den aktuellen User.
Wie müsste(n) die Abfrage(n) an das Information_Schema lauten, um für einen x-beliebigen User die Rechte auf eine Tabelle feststellen zu können?

Es sieht mir nicht so aus, als ob Information_Schema andere Informationen als die für den aktuellen Nutzer relevanten liefern kann. Befrag doch mal die Tabellen in der (echten) Datenbank namens mysql.

Ich glaube, dass ich den Mechanismus einigermaßen verstanden habe. Ich habe vier Ebenen gefunden:

information_schema.user_privileges             allgemeine Userrechte für alle Datenbanken
information_schema.schema_privileges           allgemeine übergeordnete Rechte pro Datenbank
information_schema.table_privileges            Rechte auf Tabellenebene
information_schema.column_privileges           Rechte auf Spaltenebene

Das funktioniert wohl immer noch so, wie früher, nur dass die in der MySQL.mysql-DB festgelegten Rechte nun in das virtuelle information_schema geladen werden.

Es gelten die Übergeordneten Rechte, solange keine untergeordneten für das OBJEKT+USER vorhanden sind. Sowie eine Stufe tiefer Rechte auftauchen, fallen alle vorher erteilten für das Objekt+User weg und es gelten nur noch die in der Stufe eingetragenen Das setzt sich so fort, bis ans Ende.

Ich werde mal ausprobieren, welche Abfragen welcher User tätigen darf und welche Ergebnisse ihm angezeigt werden. Vermutlich werden die gefiltert.

Spirituelle Grüße
Euer Robert

--
Möge der Forumsgeist wiederbelebt werden!