Laboratorio di Sistemi Informativi

Soluzioni esercizi - Gestione utenti

Esercizio 1

Usare il comando GRANT per concedere i seguenti diritti di accesso:
grant all privileges on *.* to abramo@localhost;
grant all privileges on *.* to abramo@`%` identified by 'passwd';
grant select on airdb.aerei to eva@`%`;
grant select on airdb.voli to eva@`%`;
grant select on airdb.prenotazioni to eva@`%`;

Notare tuttavia che se nel sistema è presente l'utente formale anonimo ``@localhost, allora eva, quando si collega da localhost, verrà fatto corrispondere a quest'ultimo. Il risultato è che se ``@localhost non ha diritti sulle tabelle di airdb, neanche eva@localhost li avrà.

In tal caso, si possono fare due cose
  1. cancellare ``@localhost con DROP USER;
  2. dare una seconda sequenza di comandi GRANT simili a quelli di prima, ma con eva@localhost come utente.

Esercizio 2

Indichiamo con x => y il fatto che all'utente reale x corrisponda l'utente formale y:

root@localhost => root@localhost
andy@localhost => andy@localhost
george@localhost => ``@localhost
andy@www.imaginary.com => andy@`%`
randy@localhost => ``@localhost
root@www.imaginary.com => nessuno.. accesso negato