Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Controllo degli accessi: possesso dei privilegi

privilegi degli utenti MySQL e le operazioni sulle singole tabelle
privilegi degli utenti MySQL e le operazioni sulle singole tabelle
Link copiato negli appunti

Una volta completata con successo la fase di autenticazione il sistema
verifica per ogni ulteriore operazione richiesta il possesso dei privilegi
necessari a soddisfarla.
Mentre per le operazioni di tipo amministrativo (es:
SHUTDOWN, RELOAD ecc...) la verifica coinvolge la sola tabella user, per
tutte le altre richieste relative alle operazioni sui dati (ad. esempio INSERT,
UPDATE ecc..) il processo server verifica innanzitutto la presenza di privilegi
amministrativi: se questi ultimi sono trovati allora l'accesso è consentito
mentre, in caso contrario, l'esistenza del privilegio specifico viene accertata
secondo le modalità di seguito indicate:

  1. il server estrae le informazioni dalla tabella db controllando la correttezza delle informazioni contenute nei campi host, user e db;
  2. In caso di esito negativo l'accesso è negato mentre in caso di esito positivo, se la colonna host non è nulla, questo record definisce un privilegio specifico del database;

In particolare quando viene trovata una entry nella tabella specificata i
privilegi sono calcolati come l'intersezione dei privilegi impostati a 'Y'
presenti nelle tabelle host e db. In questo modo diventa possibile
definire dei privilegi nella tabella db e restingerli per host usando la tabella
host. Riassumendo l'intero processo si può dire che l'accesso è concesso
se sussiste una delle seguenti condizioni:

  1. l'utente possiede dei privilegi globali;
  2. l'utente possiede dei privilegi specifici determinati per mezzo delle tabelle host e db;
  3. l'utente possiede privilegi relativi a tabelle;
  4. l'utente possiede privilegi relativi a colonne;

Peraltro è bene tener presente che, a differenza degli altri, i
privilegi specificati nella tabella user hanno una efficacia globale cioè
devono essere considerati come privilegi da assegnare esclusivamente ad un
super-user.
Per tutti gli altri utenti ordinari è di fondamentale importanza
applicare il principio "dei privilegi minori" che implica l'assegnazione nelle
tabelle db e host di quei soli diritti strettamente indispensabili
all'esecuzione delle normali attività.

L'adozione di questo criterio
impedisce infatti il verificarsi di tutta una serie di situazioni anomale che
spesso ricorrono quando ad un utente ordinario vengono ad esempio conferiti i
privilegi di select e update sulla colonna password della tabella
user. In questi casi l'utente potrebbe facilmente modificare le
password degli altri utenti; in effetti, anche se le password sono memorizzare
in forma criptata, nulla impedisce la modifica della password dell'utente root
mediante una semplice sovrascrittura della password originale con il valore
ottenuto tramite il ricorso alla funzione
PASSWORD('nuova_password'').

Ti consigliamo anche