mycket hat geschrieben:
* Warum kann ein User A in eine von User B angelegte Datenbank und Tabelle schreiben (insert into...)? Das geht dann nicht, wenn root A das globale Recht INSERT entzieht.
> Wie kann ein User eine Datenbank und/oder Tabelle so anlegen, dass nur er schreiben und/oder lesen darf?
Du kannst Rechte auf Datenbankbasis nur hinzufügen aber nicht dem User wieder entziehen. Für deinen Fall bedeutet das, dass du keinen Benutzer anlegen solltest, der globale INSERT-Berechtigungen hat. Stattdessen vergibst du die Rechte explizit auf die entsprechenden Datenbanken.
mycket hat geschrieben:
* Warum kann ein User SHOW DATABASES ausführen, obwohl beim Anlegen des Users in PHPmyAdmin das entprechende Feld deselektiert ist (Alle Felder im Administrative-Block sind deselektiert)?
> Wie kann verhindert werden, dass sich ein User anzeigen lassen kann, welche Datenbanken auf dem Server liegen? Der User sollte den Namen der Datenbank, die er verwenden will schon kennen und eingeben müssen.
Wenn ein Benutzer, der kein Recht auf SHOW DATABASES hat, dieses Statement ausführt, werden ihm lediglich die Datenbanken angezeigt, auf die er Rechte hat. Möchtest du nicht diesen Effekt haben, muss der MySQL-Server mit dem Schalter --skip-show-database gestartet werden.
Gruß
Christian