[MySQL] User zonder CREATE recht mag toch CREATE DATABASEn?

Pagina: 1
Acties:

  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 30-04-2025
Om het probleem even aan te geven:

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
-- Als de rootuser:
-- Maak gebruiker aan
CREATE USER 'testuser' IDENTIFIED BY 'testpass';

-- Geef USAGE recht, géén CREATE recht!
GRANT USAGE ON *.* TO 'testuser';

-- Geef alle rechten op een nog niet bestaande database
GRANT ALL PRIVILEGES ON `testdb`.* TO 'testuser';

-- Als testuser:
-- Maak de database
CREATE DATABASE `testdb`;


En dit werkt. Ook al heb ik gezegd dat de gebruiker géén globale CREATE-rechten heeft, mag hij toch de databases waar hij ALL PRIVILEGES op heeft aanmaken. Is dit bedoeld gedrag van MySQL?

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Als een andere database CREATEn niet werkt wel. Lijkt me zodat je 'm kunt DROPpen en weer aanmaken t.b.v. restores van backups e.d.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • JeRa
  • Registratie: Juni 2003
  • Laatst online: 30-04-2025
CyBeR schreef op vrijdag 12 mei 2006 @ 00:58:
Als een andere database CREATEn niet werkt wel. Lijkt me zodat je 'm kunt DROPpen en weer aanmaken t.b.v. restores van backups e.d.
De user mag inderdaad geen andere databases aanmaken, en mag wel z'n eigen databases droppen. Ik heb al een feature request gepost bij MySQL voor een scheiding tussen de rechten van DROP TABLE en DROP DATABASE. Ik wist alleen nog niet dat dit ook bij CREATE gold.