La protezione del database MySql
Quando si installa il database viene definita la password di root
e da allora l'utente root con questa password e' abilitato a fare
tutto. La gestione della protezione vera e propria e' fatta tramite il
database predefinito mysql con le tre tabelle user,db,host.
Lo schema piu' semplice di protezione potrebbe essere il seguente:
Ogni utente ha zero privilegi nella tabella user mentre viene
associato al database che usa dandogli tutti i privilegi.
Per fare questo,il root, dopo aver creato il database Pippo
dell'utente rossi provvede a inserire le seguenti 2 righe nelle
tabelle db e user
(tabella user)
Host User Password Select_priv Insert_priv Update_priv
Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv
Process_priv File_priv Grant_priv References_priv Index_priv
Alter_priv
localhost rossi ********** N N N N
N N N N N N N N N N
(tabella db)
Host Db User Select_priv Insert_priv Update_priv Delete_p
riv Create_priv Drop_priv Grant_priv References_priv Index_pr
iv Alter_priv
% Pippo rossi Y Y Y Y Y Y Y
Y Y Y
Da notare che % indica qualsiasi computer, localhost il computer su cui si
trova il data base e ********* e' la password crittata.
Le operazioni vanno fatte usando le istruzioni sql, per cui daremo i
comandi :
mysql -e "insert into user values('localhost','rossi',PASSWORD('password'),'N','N','N','N','N','N','N','N','N','N','N','N','N','N')" mysql
mysql -e "insert into db values('%','Pippo','rossi','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')" mysql
Dopo ricordarsi di usare il comando mysqladmin reload per rendere
operative le modifiche.
INDIETRO a Web e Database
Maintained by Giuseppe Zito: Giuseppe.Zito@cern.ch.Last revised :