wiki:Quota

Quota su disco

Gestire le quote su disco è abbastanza semplice, posto che vengano osservate alcune condizioni:

  • in /etc/fstab vanno inserite tra le opzioni del filesistem usrquota E grpquota (man 8 mount), per esempio:
    /dev/sda6  /home  xfs  defaults,usrquota,grpquota,noatime  0       2
    
  • se il filesystem ha è di tipo XFS, il comando quotaon necessita del parametro -F xfs. (i file di init di debian comunque riconoscono correttamente il filesystem XFS)

Per attivare l'opzione in /etc/fstab eseguire il comando:

mount -o remount,usrquota /home

Accertarsi che sia caricato il modulo quota del kernel con il comando:

modprobe quota_v2

e per caricarlo al boot eseguire:

echo 'quota_v2' >> /etc/modules

Nella cartella /home creare i seguenti due files:

touch /home/aquota.user
touch /home/aquota.group

e cambiare i permessi:

chmod 600 /home/aquota.user /home/aquota.group

Per non dover riavviare il server per attivare le quote,lanciare il seguente comando:

quotacheck -vagum

Attendere la fine del processo di ricerca delle cartelle che può durare anche alcuni minuti. Infine attivare le quote con il comando:

quotaon /home

A questo punto basta aprire octofuss, lanciare il modulo quota nel menu e configurare le quote dei singoli utenti Nel caso si volesse farlo con uno script perché magari gli utenti sono tanti, si può fare nel seguente modo:

edquota -f /home UTENTE

per configurare la quota ad un utente (uno a caso), oppure configurare, per esempio, il softlimit a 200 mb e l'hard limit a 250 mb per l'utente con seguente comando:

quotatool -u UTENTE -bq 200M -l '250 Mb' /home

e infine per copiare le impostazioni a tutti gli altri utenti:

edquota -f /home -p UTENTE $(ldapsearch -x |grep uid:|grep -v \$$ |cut -f 2 -d " ")

La sintassi è ben illustrata dalla manpage edquota(8); l'espressione

ldapsearch -x |grep uid:|grep -v \$$ |cut -f 2 -d " "

viene sostituita dal risultato dell'elaborazione dei comandi, generando la lista completa degli utenti del server:

  • ldapsearch -x manda su stdout l'albero ldap
  • grep uid: isola le righe con l'attributo che ci interessa
  • grep -v \$$ elimina (-v) le righe relative agli utenti macchina
  • cut -f 2 -d " " isola la parte della riga contenente lo username

Per vedere il report delle quote eseguire:

repquota /home

Infine, se vogliamo modificare il "grace time":

edquota -t
Last modified 3 years ago Last modified on Jun 30, 2014, 9:44:20 AM