[MySQL] Nieuwe gebruiker mag een database aanmaken?

Pagina: 1
Acties:

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 17:04

Snow_King

Konijn is stoer!

Topicstarter
Hoi,

Ik ben een beetje te einde raad.
Ik maak een nieuwe gebruiker aan voor MySQL en ook een database.
Leuk, werkt allemaal.
Maar die nieuwe gebruiker mag ook nieuwe databases aanmaken en dat wil ik niet!

Mijn queries
code:
1
CREATE DATABASE `$database`

code:
1
GRANT USAGE ON *.* TO $database@"%" IDENTIFIED BY "$password

code:
1
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON $database.* TO $database@"%" IDENTIFIED BY "$password"

code:
1
FLUSH PRIVILEGES


Ik wil een gebruiker en database aanmaken en deze hebben de zelfde naam.

De inhoud van $database is: pcex_wido
Wat is dit? Ik geef hem alleen de juiste rechten voor 1 database, en toch mag hij een nieuwe aanmaken?

http://www.mysql.com/doc/en/Adding_users.html die heb ik ook gelezen, maar vond het antwoord er niet

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Ik denk dat je Grant Usage niet goed is. Zou ik uit mn hoofd niet zo weten. Ik gebruik meestal gewoon phpMyAdmin voor dit soort dingen.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • Snow_King
  • Registratie: April 2001
  • Laatst online: 17:04

Snow_King

Konijn is stoer!

Topicstarter
ja, phpMyAdmin is leuk, maar ik wil dit automatiseren ergens anders in..

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Intern heeft MySQL een usertable waar je Select, Create etc aan of uit kunt zetten. Verder kun je per DB/colom etc ook nog los zooi instellen.

Ik denk dat je default user-instellingen dus niet goed staan. En volgens mij zit de fout bij die "Grant Usage", ik ben even aant meekijken voor je..

[edit]
Bij mij krijgt ie totaal geen rechten als ik die query uitvoer:

Host %
User blaat
Select_priv N
Insert_priv N
Update_priv N
Delete_priv N
Create_priv N
etc...

Kijk eens hoe dat bij jou staat. Nadat je de eerste twee queries hebt uitgevoerd..

[ Voor 34% gewijzigd door Grijze Vos op 31-01-2004 16:39 ]

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • nrg
  • Registratie: April 2001
  • Laatst online: 21:00

nrg

USAGE Synonym for ``no privileges.''
Lijkt me niet dat dat er iets mee te maken heeft.

Probeer dit eens:
code:
1
2
3
4
GRANT USAGE ON *.* TO "$username"@"%" IDENTIFIED BY "$pass"; 
REVOKE ALL PRIVILEGES ON `$database`.* FROM "$username"@"%";  
REVOKE GRANT OPTION ON `$database`.* FROM "$username"@"%";  
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `$database`.* TO "$username"@"%";

[ Voor 29% gewijzigd door nrg op 31-01-2004 16:43 ]


  • Snow_King
  • Registratie: April 2001
  • Laatst online: 17:04

Snow_King

Konijn is stoer!

Topicstarter
Zelfde als bij jou Grijze Vos, alles op N

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Configuratie = SA :)

Professionele website nodig?


  • pelleke
  • Registratie: Maart 2003
  • Laatst online: 08-11-2024

pelleke

Aut viam inveniam aut faciam

Het probleem zit 'm in de databasenaam. De _ (underscore) in de naam kan gebruikt worden als wildcard.

als ik een database pelle_test heb, en deze visible maakt voor een user die geen standaard privileges heeft, dan is die user in staat om pelle*test aan te maken, waarbij * elk mogelijk teken mag zijn.

edit:
sorry voor de kick, topic rolde uit de search. was ik vergeten.

[ Voor 13% gewijzigd door pelleke op 06-06-2004 16:59 . Reden: Foutje ]

Pagina: 1