Privilegii în mysql - stadopedia

Când se conectează la serverul MySQL, utilizatorul specifică un nume și o parolă, iar serverul verifică dacă clientul are dreptul de a accesa serverul și, dacă reușește, oferă utilizatorului privilegii corespunzătoare. Preferințele utilizatorilor sunt stocate în baza de date a sistemului mysql.

Verificarea utilizatorului se efectuează pe trei câmpuri din tabela utilizatorului (gazdă, utilizator și parolă) din baza de date MySQL. Serverul stabilește o conexiune numai dacă găsește o intrare în tabelul de utilizatori în care numele de utilizator și parola corespund valorilor introduse.

Pentru a vedea cum sunt stocate parolele în tabelul utilizatorilor, utilizați următoarele comenzi:

mysql> SELECT parola FROM user;

Privilegii în mysql - stadopedia

Vă puteți familiariza cu toate tabelele de baze de date mysql prin emiterea comenzii

Privilegii în mysql - stadopedia

După stabilirea conexiunii, serverul pornește o sesiune cu utilizatorul. Pentru fiecare cerere primită, serverul verifică dacă utilizatorul are suficiente privilegii pentru a executa cererea. Informații despre privilegii sunt în tabele - user, db, gazdă, tables_priv sau columns_priv.

Lista de privilegii este prezentată mai jos:

Ce este folosit

Serverul MySQL citește conținutul acestor tabele la momentul executării și în cazul în care au loc modificări ale privilegiilor.

Privilegiile SELECT, INSERT, UPDATE și DELETE vă permit să efectuați operații pe rândurile tabelelor bazei de date. Privilegiul index oferă crearea sau distrugerea de indici. Alter privilege vă permite să utilizați comanda alter table. Parolele de creație și de drop vă permit să creați noi sau să distrugeți bazele de date și tabelele existente. Privilegiul GRANT gram vă permite să acordați altor utilizatori privilegiile pe care le dețineți.

Privilegiile rămase sunt folosite pentru administrarea serverului SQL. Comanda de închidere iese din server.

Când porniți serverul MySQL, toate informațiile despre privilegiile de utilizator sunt încărcate în memorie și, din acel moment, privilegiile produc efecte.

Comenzile de acordare și revocare permit administratorilor de sistem să creeze utilizatori MySQL și, de asemenea, să le acorde drepturi de utilizator sau să-și refuze drepturile pe patru niveluri.

Privilegiile globale se aplică tuturor bazelor de date de pe serverul specificat. Aceste privilegii sunt stocate în tabela mysql.user.

· Nivelul bazei de date.

Parolele de bază de date se aplică tuturor tabelelor din baza de date specificată. Aceste privilegii sunt stocate în tabelele mysql .db și mysql .host.

Preferințele de tabel se aplică tuturor coloanelor din tabelul specificat.
Aceste privilegii sunt stocate în tabela MySQL. tables_priv.

Privilegiile coloanei se aplică coloanelor individuale ale tabelului specificat. Aceste privilegii sunt stocate în tabela mysql .columns_priv.

Comanda de acordare vă permite să adăugați noi utilizatori la server:

mysql> GRANT SELECT, INSERT pe taxi. * Pentru Mike @ localhost

IDENTIFICAT DE "secret";

Această comandă permite inserarea și selectarea drepturilor la baza de taxi (la toate tabelele - aceasta este specificată prin simbolul asterisc) către utilizatorul Mike, care se conectează local (localhost), iar când se conectează la server, utilizatorul trebuie să specifice parola "secret". Parola este stocată pe server într-o formă criptată.

mysql> GRANT ALL PRIVILEGES ON *. * la Ann @ "%"

-> IDENTIFICAT DE "some_pass" CU GRANT OPTION;

Aici Anna primește toate privilegiile pe toate tabelele tuturor bazelor serverului (*. *) Și se poate conecta atât la nivel local cât și la distanță prin rețea (acest lucru este indicat de simbolul% după Anna @). În plus, Anna poate transfera drepturile sale altor utilizatori (cu opțiune de acordare), adică poate emite o comandă de grant și poate crea noi utilizatori ai sistemului.

mysql> GRANT UTILIZARE ON *. * TO dummy @ localhost

IDENTIFICAT prin "parolă";

Utilizatorul dummy creat în acest exemplu se poate conecta
la server, dar numai de la computerul local. UTILIZARE Privilege
înseamnă că utilizatorul nu are toate celelalte privilegii. Acest lucru poate fi necesar atunci când o persoană este angajată, dar îndatoririle sale nu au fost încă determinate. Se presupune că privilegiile legate de bază de date vor fi atribuite mai târziu. Nu va fi posibil să creați un utilizator cu o parolă goală - sistemul nu permite acest lucru din motive de securitate.

Comanda REVOKE permite administratorului să refuze drepturile utilizatorilor:

REVOKE SELECT (use_on) În taxi.timetable FROM Mike @ localhost;

Utilizatorul Mike nu poate vedea valoarea câmpului use_on în tabelul de programare.

Comanda set poate seta diferite opțiuni care afectează operația
server sau client. Parola pentru utilizatorul rădăcină poate fi setată și cu această comandă:

mysql> SET PASSWORD PENTRU root @ localhost = PASSWORD ('new_password');

Utilizatorii pot lucra direct cu tabele de atribuire a privilegiilor:

mysql> USE mysql;

Mysql> UPDATE utilizator SET Parola = PASSWORD ('new_password')

-> WHERE user = 'root';

După aceasta, ar trebui să emiteți o comandă care determină serverul să citească din nou tabelele de privilegii - atunci acestea vor intra în vigoare:

mysql> PRIVILEGI FLUX;

Dacă parola este setată utilizând operatorul de grant. identificat prin, nu este nevoie să utilizați funcția parolă (). Această comandă criptează în mod independent parola, astfel încât parola să fie specificată în text simplu, de exemplu, astfel:

mysql> UTILIZAREA GRANTULUI * * * TO jeffrey @ "%" IDENTIFICAT DE "biscuit";

Modificările aduse tabelelor de atribuire a privilegiilor utilizând comenzile de acordare, revocare sau setare a parolelor sunt luate în considerare de către server imediat după executarea acestor instrucțiuni.

Articole similare