Su Linux, puoi impostare la quota del disco utilizzando uno dei seguenti metodi:
- Assegnazione della quota del disco di base del file system
- Assegnazione della quota del disco basata su utenti o gruppi
Per quanto riguarda la quota basata su utenti o gruppi, di seguito sono riportati tre fattori importanti da considerare:
- Hard limit:ad esempio, se specifichi 2 GB come hard limit, l'utente non sarà in grado di creare nuovi file dopo 2 GB
- Limite soft:ad esempio, se si specifica 1 GB come limite soft, l'utente riceverà un messaggio di avviso "quota disco superata", una volta raggiunto il limite di 1 GB. Tuttavia, potranno comunque creare nuovi file fino a quando non raggiungeranno il limite massimo
- Periodo di grazia:ad esempio, se specifichi 10 giorni come periodo di grazia, dopo che l'utente ha raggiunto il limite massimo, gli verranno concessi altri 10 giorni per creare nuovi file. In quel periodo di tempo, dovrebbero cercare di tornare al limite della quota.
1. Abilita il controllo della quota sul filesystem
Innanzitutto, dovresti specificare quale filesystem è consentito per il controllo della quota.
Modifica /etc/fstab e aggiungi la parola chiave usrquota e grpquota al filesystem corrispondente che desideri monitorare.
L'esempio seguente indica che il controllo della quota sia dell'utente che del gruppo è abilitato sul filesystem /home
# cat /etc/fstab LABEL=/home /home ext2 defaults,usrquota,grpquota 1 2
Riavvia il server dopo la modifica precedente.
2. Controllo della quota iniziale sul filesystem Linux usando quotacheck
Dopo aver abilitato il controllo della quota del disco sul filesystem, raccogli inizialmente tutte le informazioni sulla quota come mostrato di seguito.
# quotacheck -avug quotacheck: Scanning /dev/sda3 [/home] done quotacheck: Checked 5182 directories and 31566 files quotacheck: Old file not found. quotacheck: Old file not found.
Nel comando sopra:
- a:controlla tutto il filesystem abilitato alla quota
- v:Modalità dettagliata
- u:verifica la quota del disco utente
- g:verifica la quota del disco del gruppo
Il comando precedente creerà un file aquota per l'utente e il gruppo nella directory del filesystem come mostrato di seguito.
# ls -l /home/ -rw------- 1 root root 11264 Jun 21 14:49 aquota.user -rw------- 1 root root 11264 Jun 21 14:49 aquota.group
3. Assegna la quota del disco a un utente usando il comando edquota
Utilizzare il comando edquota come mostrato di seguito, per modificare le informazioni sulla quota per un utente specifico.
Ad esempio, per modificare la quota del disco per l'utente 'ramesh', utilizzare il comando edquota, che aprirà i valori limite soft e hard in un editor come mostrato di seguito.
# edquota ramesh Disk quotas for user ramesh (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sda3 1419352 0 0 1686 0 0
Una volta che il comando edquota apre le impostazioni della quota per l'utente specifico in un editor, puoi impostare i seguenti limiti:
- limite soft e hard per la dimensione della quota del disco per l'utente specifico.
- limite soft e hard per il numero totale di inode consentiti per un determinato utente.
4. Segnala l'utilizzo della quota del disco per utenti e gruppi utilizzando repquota
Utilizza il comando repquota come mostrato di seguito per segnalare l'utilizzo della quota del disco per utenti e gruppi.
# repquota /home *** Report for user quotas on device /dev/sda3 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 566488 0 0 5401 0 0 nobody -- 1448 0 0 30 0 0 ramesh -- 1419352 0 0 1686 0 0 john -- 26604 0 0 172 0 0
5. Aggiungi quotacheck al cron job giornaliero
Aggiungi il controllo della quota al lavoro cron giornaliero. Crea un file quotacheck come mostrato di seguito nella directory /etc/cron.daily, che eseguirà il comando quotacheck ogni giorno. Questo invierà l'output del comando quotacheck all'indirizzo email di root.
# cat /etc/cron.daily/quotacheck quotacheck -avug