ich hab hier gerade ein Brett vor dem Kopf ... dürfte ein 4-Kant mit 20cm Kantenlänge haben *uah*.
Ich müsste folgendes umsetzen:
User X hat 5 Datenbanken zur Verfügung.
Er kann in den Datenbanken machen was er will (Tabellen erstellen, löschen, umbenennen, etc).
Er darf die 5 ihm zur Verfügung gestellten Datenbanken nicht löschen können.
Er darf keine Datenbanken erstellen können.
Soweit so gut, bisher habe ich das so realisiert:
mysql.db
Code: Select all
+--------+-------------+-----------+-------------+-----------+
| Host | Db | User | Create_priv | Drop_priv |
+--------+-------------+-----------+-------------+-----------+
| mysql4 | test-user01 | test-user | Y | Y |
| mysql4 | test-user02 | test-user | Y | Y |
| mysql4 | test-user03 | test-user | Y | Y |
| mysql4 | test-user04 | test-user | Y | Y |
| mysql4 | test-user05 | test-user | Y | Y |
+--------+-------------+-----------+-------------+-----------+
Code: Select all
+--------+-----------+-------------+-----------+
| host | User | Create_priv | Drop_priv |
+--------+-----------+-------------+-----------+
| mysql4 | test-user | Y | Y |
+--------+-----------+-------------+-----------+
Alternativ habe ich bereits versucht global DROP/CREATE zu verbieten und dann per tables_priv für Tabelle % wieder zu erlauben, hat jedoch leider nicht funktioniert.
Habe ich einen Denkfehler, oder besteht tatsächlich keine Möglichkeit, diese Version der Berechtigungen durchzusetzen?
PS: Die Idee mit tables_priv habe ich von da: http://dev.mysql.com/doc/refman/5.0/en/privileges.html