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 \$$ |$(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
