Links ::  | DEV web management system | Katalóg | Webhosting | Recepty
  
 Index | Registrácia | Hľadať | Galéria | BoardNeprihlásený užívateľ  //Utorok, 21. Novembra 2017 
Navigation
Index
Top 10 autorov
Top 20 článkov
Hľadať
Galéria

Zones
Asp.(NET)
C/C++
Flash
Grafika+Design
Hardware
Hry
Html/Css/Xml
Java
Linux
Networks
Operačný systém
Pascal/Delphi
PHP
Security
Software
SQL
Visual Basic
Wap/Wml
Windows
Zóna iné

Links
Script index Interval.cz Pc.sk Regedit.sk TipyaTriky.sk Builder.cz Asp.cz Živě.sk Zoznam.sk Code.box.sk Root.cz Quant&Financial

Odkazy

Sessions
Stránky Developer.sk si práve číta 465 čitateľov, z toho je 0 zaregistrovaných

BackEnd
Odkazy na nové články je možné preberať pomocou backend.php

kuk

    MySQL časť jedenásta - nastavovanie prístupových práv

Databázu a tabuľky máme hotové, naplnili sme si ich aj údajmi, rôznym spôsobom sme si ich skúšali vyberať, ďalej sme ich modifikovali a mazali, menili štruktúru tabuľky. Dnes našim tabuľkám pridelíme zodpovedajúce prístupové práva.


Hlavným dôvodom je ich zabespečenie pred nepovolaným a neautorizovaným prístupom. Pre každú tabuľku v databáze môžeme nadefinovať, ktorý užívateľ má k nej prístup a na akej úrovni. Čiže aké operácie s ňou môže vykonávať. K nastaveniu týchto prístupových práv slúži príkaz GRANT. Jeho použitie je nasledovné:

GRANT /práva/
ON /nazov_tabulky/
TO /meno_uzivatela/

Položka /práva/ zodpovedá nastaveniu prístupových práv na danú tabuľku. Na tomto mieste môžeme použiť niekoľko príkazov MySQL, na ktoré sa bude pridelenie prístupového práva vzťahovať. Jedná sa o tieto príkazy: SELECT, INSERT, UPDATE a DELETE. Ak chceme prideliť všetky prístupové práva na danú tabuľku, použijeme príkaz ALL.

Za ON v našom príklade musí nasledovať meno tabuľky, pre ktorú dané oprávnenia nastavujeme. Na záver, za TO, zadáme užívateľa na ktorého sa dané nastavenie vzťahuje.

Nad databázou, ktorú úžívateľ vytvoril má väčšinou absolútne práva a je oprávnený na nej vykonávať akékoľvek operácie. Ak však vytvoríme script, pomocou ktorého budeme otvárať našu db a pracovať s ňou, je výhodnejšie - z bespečnostného hľadiska vytvoriť nového užívateľa a prideliť mu len tie práva, ktoré sú nevyhnutné na prácu s db.

Ak teda chceme užívateľovi "nobody" povoliť plný prístup k tabuľke "Videofilmy", použijeme nasledovný príkaz:

GRANT ALL ON Videofilmy TO nobody

Keď budeme chcieť užívateľovi "nobody" dať iba prístup na prezeranie tabuľky, použijeme nasledovný zápis:

GRANT SELECT ON Videofilmy TO nobody

Ak budeme potrebovať z nejakého dôvodu odobrať určitému užívateľovi prístupové práva do nejakej tabuľky, urobíme to jednoducho pomocou príkazu REVOKE:

REVOKE /práva/
ON /nazov_tabulky/
TO /meno_uzivatela/

Nie je však všetko také jednoduché ako na prvý pohľad vypadá. Tento systém prideľovania a odoberania príst. práv nefunguje na všetkých serveroch. Príkaz GRANT totiž všetky serveri nepodporujú. Aj keď sa síce tvária že áno (keď prístupové právo pomocou GRANT pridelíte, všetko vypadá o.k, server neprotestuje až na jednu drobnosť - prístup nefunguje...) Pôjdeme na to teda inak. A síce takto:

Najskôr sa prihlásíme do db ako root:

mysql - u root -p mysql

Teraz pridáme užívateľa "deep" s heslom "214@abc" a predpokladajme že sa bude môcť hlásiť len z lokálného stroja. To znamená, že web server musí bežať na lokálnom počítači, teda tom na ktorom sa bude hlásiť užívateľ "deep". Teraz pridáme užívateľa "deep" do tabuľky užívateľov "user":

INSERT INTO user (host, user, password)
VALUES ('localhost', 'deep', password('214@abc'));

Užívateľa sme pridali, teraz nám už zostáva pridať mu prístupové práva (rozhodneme sa pre čítanie z db-moja_databaza):

INSERT INTO db (host, db, user, select_priv)
VALUES ('%', 'moja_databaza', 'deep', 'Y');

Ak by sme chceli užívateľovi "deep" prideliť aj iné prístupové práva, pomocou príkazu INSERT s príznakom 'Y' nastavíme ďalšie položky: insert_priv, delete_priv, update_priv.

Po zmene prístupových práv je potrebné aby si ich MySQL server znovu načítal. To môžeme uskutočniť pomocou nasledovného príkazu:

mysql -u root -p reload



Autor : Developer, čítané 9643x, komentárov: 0
Hodnotenie :    |  Sobota, 8. Marca 2003

Pridať nový komentár/Komentáre
Vaše hodnotenie :   horšie  lepšie
Login
Login:
Heslo:

Hľadať
 
v článkoch
v diskusiach
v komentároch

Top read
PHP Coder

Priklady v C. 1.čast.

DEV web management system

Php a bezpečnosť skriptov

Autorun CD

Top discuss
Jednoduchý web formulár (ASP.NET)

Delphi seriál: (1.časť)

Velmi rychla grafika v Pascale

DEV web management system

Naša ikona
Páčia sa Vám naše stránky ? Ak áno, podporte nás prosím a umiestnite si na svoju stránku našu ikonku:





Copyright (c) Developer.sk, All rights reserved.
Powered by DEV web management system