Acordarea si revocarea accesului in MySQL

Pentru administrarea utilizatorilor din MySQL mai intai trebuie sa ne autentificam cu unul din utilizatorii cu drepturi corespunzatoare. Pentru exemplu voi folosi utilizatorul root:

Pentru crearea unui utilizator nou se foloseste comanda CREATE USER:

Daca nu se specifica clauza IDENTIFIED BY, utilizatorul nou creat se va putea autentific fara parola.

Urmeaza acordarea de drepturi utilizatorului nou creat:

sau

Pentru a restrictiona accesul la o singura tabela dintr-o baza de date:

Pentru a restrictiona accesul la anumite coloane dintr-o tabela:

Pentru a crea un utilizator si a atribui drepturile dorite intr-un singur pas, se poate folosi comanda:

Un aspect de luat in considerare este faptul ca, implicit, orice utilizator are acces nelimitat la toate bazele de date a caror denumire incepe cu “test_”. Acest lucru este util in cazul efectuarii testelor, dar nu este recomandat in configuratiile/sistemele productive. Administratorii care doresc sa inlature aceste drepturi implicite, trebuie sa stearga din tabela mysql.db liniile care se refera la accesul la bazele de date cu denumiri de forma “table_%”.

Drepturile unui utilizator pot fi vizualizate cu comanda SHOW GRANTS:

Pentru revocarea drepturilor pe o anumita baza de date, pentru un utilizator, se foloseste, dupa caz, una din variantele urmatoare ale comenzii REVOKE:

sau

Comanda REVOKE doar inlatura drepturile specificate pentru utilizatorul specificat, dar nu sterge utilizatorul. Stergerea unui utilizator se efectueaza folosind comanda DROP USER:

Modificarea parolei unui utilizator poate fi realizata cu comanda:

Daca nu este speficicata clauza FOR ‘nume_utilizator’@’localhost’ parola va fi setata pentru utilizatorul curent, cel autentificat. In cazul in care este specificata aceasta clauza, utilizatorul specificat trebuie sa existe.

Informatii suplimentare pot fi gasite in manualul MySQL:
https://dev.mysql.com/doc/refman/5.5/en/account-management-sql.html

Leave a Reply

Your email address will not be published. Required fields are marked *