Realizzare quote utente sul filesystem linux

Vediamo come fare

 

Quote utenti sul filesystem

In questo paragrafo tratteremo di come stabilire le quote per ciascun utente su un filesystem di un server comune.

Ciò sarà utile se usiamo un server dedicato per l'accesso dei nostri utenti o se eseguiamo nella nostra LAN un Terminal Server per l'esecuzione di applicazioni (ad esempio se i nostri client non sono PC ma thin clients).

Il servizio di quota permette di definire i limiti di spazio disco massimo utilizzabile da ogni utente del sistema.

Per beneficiare di tale servizio dovremo scegliere hardware dedicato e formattare il nostro hard disk (o la vostra batteria di hard disks se utilizziamo un sistema SAN) con un filesystem di tipo XFS.

Architettura dell'esempio

Il nostro sistema risponde ai seguenti requisiti

1 server dotato di una sola unità disco /dev/hda1;

ogni utente del sistema ha a disposizione uno spazio disco massimo di 2 GB;

l'utente riceverà una email (che gli notifica che lo spazio disco a sua disposizione sta per esaurirsi) quando occuperà più del 80% della sua quota massima; 

Implementazione del servizio di Quota

·         Innanzitutto abbiamo bisogno del servizio di quota da instalalre come root con il comando

#apt-get -y install quota

·         procediamo poi alla formattazione delle unità disco /dev/hda1 con il filesystem xfs con il comando

#mkxfs.xfs /dev/hda1

·         montiamo poi il dispositivo /dev/hda1 nella directory /mnt/xfs come segue

#mkdir /mnt/xfs && mount /dev/hda1 /mnt/xfs

·         aggiungiamo poi le utenze del nostro sistema avendo cura di assegnare loro la home directory sul filesystem /mnt/xfs' come nell'esempio che segue

#useradd -m -d /mnt/xfs/marco marco

·         ora stabiliamo il massimo spazio disco che l'utente marco e la quota oltre la quale l'utente verrà avvisato che il suo spazio disco sta per terminare

#setquota -u marco 1600000 2000000 10 11 /dev/hda1

i parametri importanti sono :

·         16000000 : è la quota oltre la quale l'utente marco verrà avvisato che il suo spazio disco è quasi terminato

·         20000000 : è la quota massima a disposizione per l'utente marco

·         ora per eseguire automaticamente il mount del dispositivo /dev/hda1controlliamo che in /etc/fstab vi sia la riga seguente

/dev/hda1    /mnt/xfs     xfs   rw,usrquota,grpquota 01

·         per controllare in qualsiasi momento lo spazio disco della nostra unità eseguiamo il comando

#repquota /dev/hda1

·         per avvisare l'utente marco via email che il suo spazio disco sta per esaurirsi usiamo il comando

#warnquota -u marco

Ora il nostro sistema è pronto...non ci resta che creare tutte le utenze.