[P]Mysql: 'CREATE'-Befehl zulassen aber nur für Tabellen

A

AVU4m9

Grünschnabel
Hallo,
Mein Problem ist folgendes:
Ich lege ein Benutzer an, der nur Zugriff auf seine Datenbank hat.
Folgende Befehle kann er nutzen und ausführen:
Code:
SELECT, INSERT, UPDATE, DELETE, DROP, ALTER, INDEX

Das Funktioniert auch alles wunderbar.
NUR:
Alle installations Skripte, für: Foren, CMS, Gallerien, etc..... nutzten den CREATE-Befehl um Tabellen zu erstellen. Wenn ich den Create Befehl aber frei gebe, kann der Benutzer auch ungewollt Datenbanken erstellen.

Hattet ihr auch schon mal so ein Problem? Oder gar die Lösung?
Ich würde mich über Antworten sehr freuen.

Mit besten Grüßen
AVU4m9
 
nö kein Plan, aber sperr doch den Befehl nach dem Erstellen einfach wieder?

ciao
 
Das wäre eine Möglichkeit. Aber das müsste auch i.w. anders gehen - Denke ich.
Zu mal ich ja nicht jeden Tag schauen kann, ob ein Benutzer ein Forum (o.ä.) installieren will.

MfG
AVU4m9
 
Also wenn ich mich nicht irre, vergibt man die Rechte entweder Datenbank bezogen, d.h. man kann die Befehle nur in der Datenbank ausführen, Oder man vergibt Globale Rechte, also auf alle Datenbanken.
 
Du kannst auch Datenbankbezogene Rechte vergeben.
Und zwar geht das in der Tabelle "db" in der Datenbank "mysql". Dort sieht es genau so aus wie in der Tabelle "user", nur das man da zusätzlich noch ne Datenbank angeben muss.

Nun erstellst du in der Tabelle "user" einen Benutzer der keine Rechte hat. Die Rechte erteilst du ihm dann in der "db" Tabelle. So gelten die Rechte nur für die eine Datenbank.

Ich glaube auch, das dass create-priv gar nicht für Datenbanken, sondern nur für views, tabellen, usw gilt. Zum Datenbanken erstellen brauch man glaub ich das grand-priv. Bin mir aba nich sicher...
 
Zuletzt bearbeitet:

Ähnliche Themen

MySQL - Was leistet es?

Zurück
Oben