Meniu

Utilizare quota

Quota este o caracteristica a sistemelor de operare Linux, prin care administratorul de sistem poate impune la utilizare o limita de spatiu pe hard-disk unui utilizator sau grup de utilizatori.

Cum se foloseste?

Prima etapa este sa se editeze fisierul /etc/fstab si sa se aduge la partitiile asupra carora doriti sa aplicati quota, termenul "usrquota" sau "grpquota". Pentru a activa suportul pentru quota pe o partitie trebuie ca in fisiserul /etc/fstab, sa adaugati imediat dupa cuvantul default, termenul "usrquota" sau "grpquota", astfel:

/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults,usrquota 1 1

In cazul nostru, sistemului de fisiere de pe partitia a doua de pe primul hard disk i s-a aplicat quota pentru utilizator. In cazul in care doreati pentru grup trebuia inlocuit usrquota cu grpquota. Daca doriti insa quota atat pentru utilizatori cat si pentru grupuri le puteti adauga pe amandoua, consecutiv, despartite prin virgula ca in exemplul de mai jos.

/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults,usrquota,grpquota 1 1

In etapa a doua dati urmatoarele comenzi:

touch /partitia_pe_care_se_aplica/quota.user

chmod 600 /partitia_pe_care_se_aplica /quota.user

Quota pentru grup poate fi fixata prin inlocuirea numelui fisierului quota.user cu quota.group.

In continuare trebuie sa dam comanda

quotacheck -v /partitia_pe_care_se_aplica

De exemplu:

quotacheck -v /dev/hda2

Daca totul a decurs corect ar trebui sa obtineti un raspuns de genul:

Scanning /dev/hda2 [/home] done

Checked 451 directories and 1367 files

Using quotafile /home/quota.user

Quotacheck este folosita pentru a ascana un sistem de fisiere si a vedea cat spatiu pe disc este folosit, aceste informatii fiind folosite pentru in fisierul "quota.user" (sau "quota.group"). Este recomandat ca quotacheck sa se execute la startul sistemului (aceasta optiune fiind implicita in distributiile RedHat).

Acum trebuie sa activam quota, prin comanda

quotaon -av

Raspunsul sistemului de operare ar trebui sa fie:

/dev/hda2: user quotas turned on

Comenzile quotaon si quotaoff activeaza, respectiv dezactiveaza, quota pentru un sistem de fisiere.

Fixarea quotei pentru un utilizator

Dati comanda:

edquota -u numele_utilizatorului

Sistemul de operare ar trebui sa dea un raspuns de genul:
Quotas for user guest:

/dev/sdb6: blocks in use: 56, limits (soft = 0, hard = 0) inodes in use: 50, limits (soft = 0, hard = 0)

Daca ceva nu este in regula s-ar putea sa obtineti urmatorul raspuns:

/dev/sdb6: blocks in use: 0, limits (soft = 0, hard = 0)
inodes in use: 0, limits (soft = 0, hard = 0)

Daca nu v-a aparut nici un mesaj de eroare, vi se va deschide un editor de text (vi) cu care v-a trebui sa editati quota pentru utilizatorul "guest", de exemplu:

/dev/hda6: blocks in use: 992, limits (soft = 50000, hard = 55000)
inodes in use: 71, limits (soft = 10000, hard = 11000)

In cazul in care editati quota pentru grup dati comanda:

edquota -g numele_grupului

Puteti vedea quota pentru un anume utilizator cu comanda:

quota -u nume_utilizator

De exemplu, la comanda quota -u guest, sistemul da un raspuns de genul:

Disk quotas for user guest1 (uid 505):
Filesystem blocks quota limit grace files quota limit grace
/dev/hda6 992 50000 55000 71 10000 11000

Daca raspunsul pe care l-ati primit nu este in stilul celui de mai sus, atunci incercati aceasi comanda dupa ce restartati calculatorul (reboot).

De asemenea exista si comanda repquota -a care va tipari informatii despre quota de pe un sistem de fisiere.

Automatizarea

Asa cum am mai spus, quotacheck ar trebui sa fie facuta periodic. O modalitatea este sa o includem in cron (program cu ajutorul caruia programam anumite task-uri). Daca vrem ca aceasta sa fie facuta saptamanal, sa zicem, trebuie sa scriem un fisier cu un script in directorul /etc/cron.weekly.

Exemplu: fisierul /etc/cron.weekly/runQuotachek contine scriptul

#/bin/bash
/sbin/quotacheck -v -a

Dupa ce am scris fisierul trebuie sa setam dreptul de a fi executat:

chmod a+x /etc/cron.weekly/runQuotacheck

Alte informatii

1. Folosirea editorului vi

Comanda "edquota"va va deschide editorul de text "vi", astfel incat, pentru a edita quota este necesar sa cunoasteti cateva comenzi pentru vi. In continuare va sunt prezentatea cateva chestiuni simple, pentru a va descurca la prima utilizare.

Deschiderea unui fisier deja existent: vi nume_fisier

Cearea unui nou fisier: vi nume_fisier_nou

Adaugarea de text in fisier: apasati tasta INSERT si incepeti sa scrieti.

Salvarea fisierului: apasati tasta ESC si apoi :w, pentru a continua sa scrieti este nevoie sa apasati iarasi tasta INSERT. (w=write)

Salvarea fisierului si iesirea din editor: apasati tasta ESC si apoi :wq

Iesirea din editor fara salvare, in cazul in care s-a facut scriere in fisier: apasati ESC si apoi :q!

Iesirea din editor fara salvare, in cazul in care nu s-a facut scriere in fisier: apasati ESC si apoi :q

Daca nu doriti sa folositi vi, puteti specifica alt editor prin variabila de mediu EDITOR.

Este nevoie sa stiti ca nu editati quota.user direct, fisierele /partitia_pe_care_se_aplica/quota.user sau quota.group, acestea fiind fisiere binare. Comanda edquota va ofera o interfata text. Cand dati comanda :wq in editor, edquota converteste in mod binar ceea ce ati scris si scrie in fisierul quota.user sau quota.group.

2. Atribuirea quotei la mai multi utilizatori

In cazul unui sistem cu foarte multi utilizatori poate fi neplacut pentru administrator sa faca tot ceea ce am scris mai sus pentru a seta quota. Exista din fericire intrumente cu ajutorul carora putem pune aceasi quota pentru mai multi utilizatori. Iata cum se poate fixa aceasi quota ca la utilizatorul guest, pentru toti utilizatorii. Intai editam quota pentru utilizatorul guest, asa cum am descris mai sus, apoi dam comanda:

edquota -p guest 'awk -F: '$3>499 ' /etc/passwd'

3.Semnificatia unor termeni

a) "block in use" semnifica numarul de blocuri (in kilobytes) pe care un utilizator i-a folosit pe o partitie.

b) "inodes in use" este numarul total de fisiere pe care un utilizator le are pe o partitie.

c) Soft limit, hard limit si perioada de gratie (grace period)

Limita soft specifica maximul de spatiu pe care un utilizator il are pe o partitie. Cand este combinata cu perioada de gratie, este ca o linie limita, avertizand utilizatorul despre depasiri de quota. Limita hard functioneaza numai daca este activa si perioada de gratie. Specifica limita absoluta a spatiului pe care un utilizator il poate folosi pe partitie si peste care nu poate trece. Perioada de gratie, executata cu comanda "edquota -t" este o perioada de timp inainte ca "limita soft" sa fie pusa la lucru. Se pot folosi unitatile de masura: secunde, minute, ore, zile, saptamani, luni.

Daca veti da comanda "edquota -t" veti primi un raspuns de genul:

Time units may be: days, hours, minutes, or seconds Grace period before enforcing soft limits for users: /dev/hda2: block grace period: 0 days, file grace period: 0 days

Schimbati 0 days cu orice altceva permis. O alegere ar putea fi 7 days (7 zile) (sau 1 week , 1 saptamana).

4. Kernelul Linux si quota

Kernelul distributiilor Red Hat 6.x si mai noi vin cu suport pentru quota inclus. Daca ati recompilat kernelul, asigurati-va ca are suportul pentru quota. Daca folositi programele xconfig sau menuconfig, asigurati-va ca puneti y la:

Quota support (CONFIG_QUOTA) [n] y.

Scriptul de initiere implicit al Red Hat (/etc/rc.d/rc.sysinit) va contine urmatoarele linii care indica rularea quotacheck:

if [ -x /sbin/quotacheck ] then echo "Verifica quota pe sistemul radacina" /sbin/quotacheck -v -a fi

si va activa quota prin:

if [ -x /usr/sbin/quotaon ] then echo "Activare quota." /usr/sbin/quotaon -v -a fi

5. Alte surse de informare

Mai puteti gasi informatii despre quota si la adresele:

http://www.freebsd.org/handbook/quotas.html

http://www.ipme.ru/doc/handbook/handbook.html

http://www.txol.net/linux/quotas.htm

http://www.yolinux.com

http://www.linuxdoc.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/quota.html

John Doe

Articole publicate de la contributori ce nu detin un cont pe gnulinux.ro. Continutul este verificat sumar, iar raspunderea apartine contributorilor.
  • | 340 articole

Nici un comentariu inca. Fii primul!
  • powered by Verysign