Úvod do systému uživatelských práv MySQL
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Úvod do systému uživatelských práv MySQLÚvod do systému uživatelských práv MySQL

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

Úvod do systému uživatelských práv MySQL

Google       Google       13. 2. 2009       21 487×

Popis základních principů práce se systémem uživatelských práv v MySQL.

Reklama
Reklama

Poslední dobou se stále častěji setkávám s uživateli MySQL, kteří přehlíží anebo vůbec nevědí, že MySQL má svůj vlastní systém uživatelských práv. Do značné míry je to zapříčiněno tím, že webhosting vám již přidělí účet a práva na používání vaší databáze, kde již nemůžete žádné účty vytvářet. Můžete se však lehce dostat do situace, kdy po vás vedení bude chtít, abyste ve firmě realizovali databázový server, který bude určen pro více aplikací. A v tomto případě nemůžete ukládat data z více aplikací do jednoho účtu kvůli přehlednosti. Pro tyto a další situace má MySQL systém uživatelských práv.

Nejdříve si musíme zadefinovat pojem privilegium - je to oprávnění provádět určitou činnost s určitým objektem a je vázána na konkrétního uživatele. Vždy při vytváření uživatele v MySQL mu musíte přidělit privilegia (práva). S vytvářením nových uživatelů se váže pojem princip nejnižšího oprávnění. Tento princip se aplikuje především kvůli zvýšení bezpečnosti databáze. Princip nejnižšího oprávnění říká, že: uživatel nebo procedura by měl mít nejnižší možná oprávnění, která mu umožní provést patřičný úkol. Do praxe převedeno: nebudete přidělovat uživatelům, kteří potřebují data z databáze pouze zobrazit pravomoc DROP, která může databázi nebo tabulku smazat.

Pro přidělování práv máme v MySQL příkaz GRANT. A REVOKE pro odebírání. Tyto příkazy fungují na čtyřech úrovních:

  • Global - globální
  • Database - pro určitou databázi
  • Table - pro určitou tabulku
  • Column - pro určitý sloupec
Obecná syntaxe příkazu GRANT :
GRANT práva [sloupce]
ON položka
TO uživatel [IDENTIFIED BY 'heslo' ]
[REQUIRE volby_ssl]
[WITH [GRANT OPTION | volby_omezení] ]

Typy a úrovně práv

Každému novému uživateli můžeme přidělit poměrně mnoho práv, ne všechna jsou však vhodná pro běžné uživatele. Abychom zachovali princip nejnižšího oprávnění, je vhodné vytvořit uživatele bez práv a po konzultaci s ním mu potřebná práva nastavit. Toto řešení však nelze aplikovat vždy, proto můžeme rozdělit práva na:

  • uživatelská
  • administrátorská
  • zvláštní
Právo Vztahuje se na Popis
SELECT tabulky, sloupce Povoluje vybírat záznamy z tabulek.
INSERT tabulky, sloupce Povoluje vkládat nové řádky do tabulky.
UPDATE tabulky, sloupce Povoluje obnovovat hodnoty záznamů v tabulkách.
DELETE tabulky Povoluje odstraňovat záznamy (řádky) z tabulek.
INDEX tabulky Povoluje vytvářet a odstraňovat indexy z tabulek.
ALTER tabulky Povoluje měnit strukturu stávajících tabulek (přejmenovávat nebo přidávat sloupce, měnit datové typy sloupců).
CREATE databáze, tabulky Povoluje vytvářet nové databáze a tabulky.
DROP databáze, tabulky Povoluje odstranit databáze a tabulky.

Uživatelská práva

Práva Popis
CREATE TEMPORARY TABLES Povoluje administrátorovi používat v příkazu CREATE TABLE klíčové slovo TEMPORARY.
FILE Povoluje načítání dat do tabulky ze souborů a obráceně.
LOCK TABLES Povoluje explicitní použití příkazu LOCK TABLES.
PROCESS Povoluje administrátorovi zobrazit si procesy serveru patřící libovolnému uživateli.
RELOAD Povoluje administrátorovi znovu načíst tabulky práv a synchronizovat práva, hostitele, protokoly a tabulky.
REPLICATION CLIENT Povoluje používat na řídicích a podřízených serverech SHOW STATUS.
REPLICATION SLAVE Povoluje podřízeným serverům se připojit k řídicímu serveru.
SHOW DATABASES Povoluje prohlížet si všechny databáze. Pokud není nastaven, vidí uživatel pouze databáze, ke kterým má práva.
SHUTDOWN Povoluje administrátorovi ukončit MySQL server.
SUPER Povoluje administrátorovi ukončit vlákna patřící libovolnému uživateli.

Administrátorská práva

Práva Popis
ALL Přidělí všechna předešlá práva.
USAGE Nepřidělí žádná práva, uživatel se může pouze přihlásit.

Zvláštní práva

Jednoduchý příklad použití:

mysql> grant all
-> on *
-> to Admin identifed by '123456'
-> with grant option ;

Takto vytvoříme uživatele Admin, který má všechny práva. V běžném světě však přidělujete většinou jen určitou množinu práv.

mysql> grant usage
-> on horv_db.*
-> to horv identifed by '123456';

Tímto příkazem jsme vytvořili uživatele horv bez jakýchkoliv práv pro práci s databází horv_db. Po konzultaci s uživatelem horv zjistíte, že potřebuje většinu práv.

mysql> grant select, insert, update, delete, index, alter, create, drop
-> on horv_db.*
-> to horv;

Může se vám stát, že uživatel horv po neuvážené operaci omylem smazal jednu tabulku. Tímto si podepsal ortel a odeberete mu právo DROP na mazání tabulek a databází.

mysql> revoke drop
-> on horv_db.*
-> from horv ;

Problematika systému uživatelských práv je složitější, ale tento úvod by vám měl pro pochopení principu a využítí poskytnout kvalitní základ.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

1 názor  —  1 nový  
Hlasování bylo ukončeno    
0 hlasů
Google
Autor studuje VoŠ - Vypočetní technika a programování v Č.B. Programuje v PHP, C# a MySQL a aktivně se zajímá o webové technologie.
Web    

Nové články

Obrázek ke článku Lepší hosting chrání i vaše data

Lepší hosting chrání i vaše data

Kybernetických útoků na webové stránky rok od roku přibývá, jsou čím dál důmyslnější a páchají stále větší škody. Možná si říkáte, že vás se to netýká, opak je ale pravdou. Jeden z nejčastějších typů útoku využívá zranitelnosti samotných webových stránek a spočívá v umístění škodlivé části programového kódu (tzv. malware) přímo do jejich těla. 

Reklama
Reklama
Obrázek ke článku Spotřebitelé důvěřují novým technologiím při péči o seniory, ale správu financí by jim nesvěřili

Spotřebitelé důvěřují novým technologiím při péči o seniory, ale správu financí by jim nesvěřili

 71 % vítá nové technologie ke sledování zdravotního stavu postarších příbuzných, které jim umožňují žít déle doma

 Pouhých 7 % by svěřilo správu svých financí umělé inteligenci, i kdyby to znamenalo rychleji naspořit prostředky na pořízení bydlení

 64 % respondentů nemá dojem, že firmy a stát dostatečně informují o tom, jaké technologie a jak užívají

Obrázek ke článku Mobilní operátoři využívají digitální modely terénů a kvůli stavebnímu boomu i 3D modely budov

Mobilní operátoři využívají digitální modely terénů a kvůli stavebnímu boomu i 3D modely budov

Mít pokrytí co nejširšího území Česka a nabízet svým zákazníkům co nejlepší signál je společným cílem všech mobilních operátorů. Při plánování sítí proto využívají aktualizovaných digitálních modelů terénu, jež jim umožňují přesně si vypočítat pokrytí a šíření signálu. V hustě zastavěných oblastech a s ohledem na stavební boom jim pak pomáhají také 3D modely budov, které by jim při nesprávném umístění vysílače mohly signál blokovat.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý