[MySQL] Jak nastavit práva pro nového uživatele

Webdesign, HTML, CSS, Flash, PHP, ASP, .NET, JavaScript. Kritika www stránek na Smetišti.

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Thomas123 5. 6. 2010 19:25

Dobré odpoledne,

mám jednoduchou otázku, ale strejda Google mi ne a ne odpovědět :-\

Když vytvořím nového uživatela přes phpMyAdmin, tak si zaškrtnu, že chci vytvořit i databázi se stejným jménem. Uživatel (tedy i DB) má v názvu podtržítko. Bohužel jsem zjistil, že když si dá vytvořit databázi a v místech podtržítka dá jiný znak, tak se mu novou databázi podaří vytvořit. Jde nějak zakázat, aby nemohl databáze vytvářet ani rušit?
// I vy můžete mít legální software, stačí používat Linux Ubuntu //
Thomas123
Junior
Uživatelský avatar

Odeslat příspěvekod K8 5. 6. 2010 19:40

prvni pouziti google, kdyz by bylo vhodne pouzit neco jineho...
1. vic prozkoumat phpmyadmin a tam se da dohledat jaka prava ma dany uzivatel a nastavit mu je dle potreby (lze bud pro celou databazi nebo i na jednotlive tabulky v databazi)
2. pouzit dokumentaci k MySQL http://dev.mysql.com/doc/refman/5.0/en/ ... t-sql.html a nastavit si to primo SQL prikazy
K8
Pokročilý

Odeslat příspěvekod Thomas123 5. 6. 2010 19:55

Jenže, aby nemohl vytvářet databáze, tak bych musel odškrtnout CREATE, ale to by tam pak už nic nevložil, alespoň tak jsem to zjistil. CREATE, DROP, ... totiž platí jak na databáze, tak i na tabulky.

//edit: Díval jsem se skrz SHOW GRANTS, jak je to dělané na Endora.cz a mám to stejné až na "WITH GRANT OPTION", s tím rozdílem, že tam to opravnění není a u mě ano.
// I vy můžete mít legální software, stačí používat Linux Ubuntu //
Thomas123
Junior
Uživatelský avatar

Odeslat příspěvekod K8 5. 6. 2010 20:07

no co jsem psal - v tom pma lze definovat:
1. globalni opravneni
2. opravneni k databazi
3. opravneni ke konkretni tabulce

takze kdyz nechces aby mohl zakladat databaze, tak to je dano globalnim opravnenim (ty ten uzivatel tedy nemusi mit zadne), a pak v databazi, nebo u konkretni tabulky mu pridas opravneni, ktere ma mit
K8
Pokročilý

Odeslat příspěvekod Thomas123 5. 6. 2010 20:24

Možná se blbě jen prezentuji, ale toto já vím a právě proto se divím, že mi to nefunguje.

Zakládám uživatele takto:
Kód: Vybrat vše
CREATE USER 'testovaci_user'@'localhost' IDENTIFIED BY 'hesilko';
GRANT USAGE ON *.* TO 'testovaci_user'@'localhost' IDENTIFIED BY 'hesilko';
CREATE DATABASE IF NOT EXISTS `testovaci_user`;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER ON `testovaci_user`.* TO 'testovaci_user'@'localhost';

Problém je, že když se přihlásím do PMA pod tímto uživatelem, tak mám právo vytvořit databázi, která má název třeba jen "testovaci-user", jinou vytvořit nemohu - zkrátka tam, kde mám podtržítko, tak mohu zaměnit za jakýkoliv znak a DB se mi vytvoří. A v PMA se mi NEzobrazuje výstraha "Nemáte oprávnění" pod "Vytvořit novou databázi". Problém je, že v takto vytvořené DB může uživatel pracovat jak chce, byť na ni nemá přidělené žádné právo, což opravdu nechápu.

Kde mám tedy problém?
// I vy můžete mít legální software, stačí používat Linux Ubuntu //
Thomas123
Junior
Uživatelský avatar

Odeslat příspěvekod K8 5. 6. 2010 21:07

vytvořil jsem si uživatele pomocí tvého příkazu
Kód: Vybrat vše
CREATE USER 'testovaci_user'@'localhost' IDENTIFIED BY 'hesilko';
GRANT USAGE ON *.* TO 'testovaci_user'@'localhost' IDENTIFIED BY 'hesilko';
a na přilozenem obrazku se muzes podivat, ze jsem opravdu k db pripojen jako testovaci_user a ze nemam opravneni vytvorit novou databazi
Přílohy
mysql.gif
K8
Pokročilý

Odeslat příspěvekod Thomas123 5. 6. 2010 21:50

Tak jsem si to tam vkládal po jednom a dokud jsem neprovedl toto:
Kód: Vybrat vše
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER ON `testovaci_user`.* TO 'testovaci_user'@'localhost';

Tak mi to ukazovalo, že nemám oprávnění k vytvoření nové DB.

Kde v tom dotazu dávám povolení vytvářet DB?
// I vy můžete mít legální software, stačí používat Linux Ubuntu //
Thomas123
Junior
Uživatelský avatar

Odeslat příspěvekod Thomas123 6. 6. 2010 20:23

Vyřešeno, práva byla v pořádku, pouze tím, že v názvu databáze, na kterou byl omezen bylo podrtržítko. Netušil jsem, že se % a _ aplikuje i zde, kde bych to nejméně čekal.
// I vy můžete mít legální software, stačí používat Linux Ubuntu //
Thomas123
Junior
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků