Diskkvoter
Av Klaus Johnstad, med modifikasjoner av Alex Brasetvik
Konfigurere tjeneren
Installere nødvendig programvare
Først må vi installere de nødvendige pakkene, om vi ikke allerede har dem installert.
# apt-get install quota quotatool
Konfigurere filsystemet
Deretter må vi muliggjøre bruk av kvoter på den ønskede partisjonen, må da først legge inn en linje i fila /etc/fstab. Gjør dette for partisjonen /skole/tjener/home0
/dev/vg_data/lv_home0 /skole/tjener/home0 ext3 defaults,usrquota,grpquota 0 2
Med flaggene usrquota og grpquota så har vi nå muliggjort bruk av brukerkvoter og gruppekvoter på partisjonen /skole/tjener/home0. For at dette skal tre i kraft må partisjonen umountes og så mountes. Eventuelt kan du starte maskina på nytt.
Så må vi lage databasene som inneholder info om kvotene:
# touch /skole/tjener/home0/quota.user # touch /skole/tjener/home0/quota.group $ chmod 600 /skole/tjener/home0/quota.user # chmod 600 /skole/tjener/home0/quota.group
Deretter sjekker du at quota.user og quota.group er tomme før databasene initialiseres:
# ls -lh /skole/tjener/home0/quota* -rw------- 1 root root 0 Mar 29 15:58 /skole/tjener/home0/quota.group -rw------- 1 root root 0 Mar 29 15:58 /skole/tjener/home0/quota.user
quota.user og quota.group skal ha størrelse .
Initialiser databasen:
# quotacheck -avug
Sjekk at databasene ikke lenger er null i størrelse:
# ls -lh /skole/tjener/home0/quota* -rw------- 1 root root 34k Mar 29 15:58 /skole/tjener/home0/quota.group -rw------- 1 root root 34k Mar 29 15:58 /skole/tjener/home0/quota.user
Skru på kvotene:
# quotaon -a
Begrense plassbruk med diskkvoter
Sett kvoter på noen brukere:
# edquota -u klaus
Hvis du er ukomfortabel med skriveprogrammet «vi», kan du bruke et enklere skriveprogram ved å kjøre export EDITOR=nano først.
Sett opp kvoten slik du vil ha den for «klaus».
Grace period:: Hvor lenge brukeren kan overskride «Soft quota». Når denne tida er ute, kan brukeren kun slette filer.Soft quota:: Hvor mange byte en bruker kan lagre på filsystemet. Denne grensen kan overskrides en kort stund - gitt ved «Grace period».Hard quota:: En absolutt grense som ikke kan overskrides.
Sjekk tilstanden på diskkvotene:
# repquota /skole/tjener/home0
*** Report for user quotas on device /dev/vg_data/lv_home0
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 1198381 0 0 12832 0 0
daemon -- 4 0 0 5 0 0
bin -- 1 0 0 1 0 0
man -- 1000 0 0 28 0 0
lp -- 81 0 0 198 0 0
mail -- 5233 0 0 444 0 0
news -- 1 0 0 1 0 0
proxy -- 126788 0 0 4722 0 0
junkbust -- 5 0 0 3 0 0
klaus -- 1993 1500 2000 268 0 0Her har brukeren «klaus» en softlimit på 1.5MB og en hardlimit på 2MB.
Sette kvoter på mange brukere
For å kjapt sette kvoter på mange brukere, lag ei fil med et brukernavn per linje, sett opp kvoten på en bruker slik du vil ha den på alle disse brukerene og kjør denne kommandoen:
# for x in `cat Liste_Med_Brukernavn.txt `;do edquota -p klaus $x;done
Da vil alle brukernavnene i lista få samme kvote som «klaus» har.
Hvis du kun har noen få du vil sette diskkvote på, kan du oppgi brukernavnene på kommandolinja, slik:
# for x in ole kari nils; do edquota -p klaus $x; done
Et triks er å hente alle brukernavnene fra LDAP og legge de i ei fil:
# getent passwd|grep home0|cut -d":" -f1>Liste_Med_Brukernavn.txt
Sjekk at fila er slik du vil ha den og kjør ovennevnte kommando.
Mer informasjon
- man edquota
- man quota
- man quotacheck
- man quotaoff
- man quotaon
- man quotastats
- man quotatool
- man repquota
Dokumenthistorikk
1.0: Redigert versjon av http://skolelinux.ping.uio.no/dokumentasjon/howto-sl-quotas.txt. Alex Brasetvik, 2004-0329