Tom: MySQL: Welche Rechte für "Subadmin"

Hello,

MySQL 3.23.55-max
mehrere Datenbanken
der "Eigentümer" einer Datenbank soll in die Lage versetzt werden, User für seine DB anzulegen und zu verwalten, aber NUR für seine. Er soll auch nicht Andere User und deren Rechte abfragen können und schon gar nicht ändern.

Geht das mit deser Version und wo müssen welche Rechte eingestellt werden. Theoretisch ist alles ganz nett, aber in der Praxis kommen dann immer andere Fehlermeldungen bezüglich fehlender Rechte für den Subadmin.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
  1. yo,

    der "Eigentümer" einer Datenbank soll in die Lage versetzt werden, User für seine DB anzulegen und zu verwalten, aber NUR für seine.

    ich bin mir unter mysql da so nicht sicher. aber grundsätzlich sollte das nicht gehen, da jeder benutzer zugang zum server braucht, bevor er zugang zu der datenbank hat. und solche konten auf serverebene einrichten kann man als database-owner meiner meinung nach nicht.

    er sollte aber in der lage sein, alle administrativen arbeiten bezogen auf seine datenbank vorzunehmen und nicht in der lage sein, rechte auf andere datenbanken zu geben.

    Ilja

  2. Hello,

    nun haben wir ziemlich lange gebastelt heute, sind aber nicht so optimal zufrieden mit dem Ergebnis.

    Es gibt praktisch nur die Möglichkeit, dem "Subadmin" die globalen Rechte GRANT und RELOAD zu geben, sowie auf die MySQL-DB die globalen Rechte
    INSERT und UPDATE sowie auf seine DB alle Rechte, die er für seine DB haben soll und weitergeben kann.

    Betroffen sind dann die Tabellen

    mysql.user
    ----------
    Insert_priv = 'Y'
    Update_priv = 'Y'
    Grant_priv  = 'Y'
    Reload_priv = 'Y'

    mysql.db
    ----------
    Db          = 'mysql'
    User        = '$user'
    Insert_priv = 'Y'
    Update_priv = 'Y'

    Db          = '$userDB'
    User        = '$user'
    ...         = 'Y'
    ...         = 'Y'     alle Rechte, die er haben soll
    ...         = 'Y'

    Uns stört daran besonders, dass der Subadmin sich so keinen Überblick über die von ihm angelegten User seiner DB verschaffen kann. Dazu müsste man ihm  auch Select-Rechte auf die mysql-DB geben und dann kann er auch alle User der anderen DBs sehen. Das ist nicht erwünscht.

    Es wären also in den DBs die Felder "OWNER" notwendig, sowie ein Filter auf Datensätze. Beides ist im MySQL-Standard nicht enthalten.

    Hat da vielleicht jemand eine Idee, wie man es intelligenter lösen könnte?

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen