Quota Mini Hogyan

A Postscript verzió letőlthető itt.
Hogyan engedélyezzük a kvótát (quota) a Linuxon
Utolsó frissítés: 1997. augusztus 8 péntek 09:45:05 HKT

Előszó: E dokumentum szerzői jogának tulajdonosa Albert M.C. Tam (bertie@scn.org). Ezen dokumentum használati, másolási és terjesztési joga ezennel engedélyezett, amennyiben valamennyi másolatban/támogató dokumentumban feltűnik a szerző/szerkesztő neve és ezt a dokumentumot nem változtatják meg. Ez a leírás annak reményében terjesztett, hogy hasznosnak bizonyul, ám SEMMIFÉLE GARANCIÁT nem fejez ki és nem is foglal magában. Amíg valamennyi erőkifejtés arra irányul, hogy biztosítsa az ebben a dokumentumben található információk hitelességét, a szerző/szerkesztő/fenntartó nem vállal felelősséget a hibákért, vagy az e dokumentum felhasználásának eredményéből adodó esetleges sérülésekért.

This document is copylefted by Albert M.C. Tam (bertie@scn.org). Permission to use, copy, distribute this document for non-commerical purposes is hereby granted, provided that the author's /editor's name and this notice appear in all copies and/or supporting documents; that this document is not modified. This document is distributed in hope that it will be useful, but WITHOUT ANY WARRANTY, either expressed or implied. While every effort has been taken to ensure the accuracy of the information documented herein, the author / editor / maintainer assumes NO RESPONSIBILITY for errors, or for damages results for the use of the information documented herein.

Ez a dokumentum leírja azt, hogy miként engedélyezzük a fájlrendszer quota-t egy Linux operációs rendszerű számítógépen, megállapítva a quota-t a felhasználók és a csoportok részére éppúgy, mint a különféle quotá-val kapcsolatos parancsok használatát. A quota a 2.x verziójú kernelt alkalmazó felhasználók számára szánt (mostanában a 2.0.27-es verziójú kernelt futtató Red Hat 4.1-en tesztelt*). Azon a felhasználók számára, akik ennél régebbi kernelt futtatnak, szükséges lehet egy újabb kernel verzióra való frissítés ahhoz, hogy kiaknázhassák a kvótából eredő előnyöket.

A fordítás pillanatában a legfrissebb stabil kernel verziószáma 2.0.36./A ford. megjegyzése./

Érezd magad feljogosítva arra, hogy visszajelzéseket vagy megjegyzéseket küldj a bertie@scn.org címre, amennyiben hibát találnál vagy esetleg bárminemű információ hiányát fedeznéd fel. Méltányolni fogom.



Mi az a quota?

A quota engedi számodra, hogy korlátokat határozz meg a lemezen megvalósuló tárolásra két szempontból is: meghatározhatod a felhasználó és egy felhasználói csoport bitrokában lévő lehetséges csomópontok (inodes) számát, valamint definiálhatod a felhasználóhoz és egy felhasználói csoporthoz tartozó lemezblokkok számát is.

A quota alapötlete mögött az áll, hogy rákényszeritsük a felhasználókat arra, hogy maradjanak a részükre kijelölt lemezfogyasztási korlát alatt, ezzel megfosztva őket a rendszeren található lemezterületek korlátlan felhasználásától.

A quota felhasználónként, valéamint fájlrendszerenként kezelhető. Amennyiben valószínűsíthető, hogy egynél több fájlrendszeren hozhat létre fájlokat a felhasználó, akkor a kvótát valamennyi fájlrendszerre külön-külön be kell állítani.


A Linux quota jelenlegi állapota

A quota támogatás - legalábbis amint hallottam - az 1.3.8x verziójú kernelektől kezdődően integrált a kernelbe. Manapság része a 2.0 verziójú Linux kernelnek. Amennyiben a rendszered nem támogatja a kvótát, javaslom a rendszer frissítését (upgrade).

Pillanatnyilag a quota csak az ext2 tipusú fájlrendszerek számára használható.


Feltételek a quota használatára Linux operációs rendszeren


Kernel

A 2.x verziójú kernel forrás elérhető a:

http://sunsite.unc.edu/pub/Linux/kernel/v2.0 címen.


A quota szoftvere

Attól függően, hogy milyen disztribúciónk van; lehet, hogy installált, de lehet, hogy nem installált a quota szoftver a rendszerünkön. Amennyiben nincs installálva, letölthető a quota szoftverének forrása az

ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz címről.


A quota beállítása a Linux operációs rendszeren - 1. rész: a konfiguráció


1. A kerneled újrakonfigurálása

Konfiguráld újra a kerneled és add hozzá a quota támogatását begépelve egy "y"-t a következő helyen:

Quota support (CONFIG_QUOTA) [n] y


2. Fordítsd le és installáld a quota programot

A quota szoftver forrása elérhető az

ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz címen.


3. Változtasd meg a rendszered inicializációs scriptjét, ahol a quota vizsgálata történik és kapcsold be a qoutá-t bootidőben.

Íme egy példa:

   # Ellenőrizd a quota-t és kapcsold is be/Check quota and then turn quota on.
   if [ -x /usr/sbin/quotacheck ]
   then
        echo "Ellenőrzöm a quotát./Checking quotas. This may take some time."
         /usr/sbin/quotacheck -avug
         echo " Kész/Done."
   fi

   if [ -x /usr/sbin/quotaon ]
   then
         echo "Bekapcsolom a quota-t./Turning on quota."
         /usr/sbin/quotaon -avug
   fi

Aranyszabály, hogy a mindíg kapcsoljuk be a quota-t, mihelyt a /etc/fstab fájlban felsorolt fájlrendszereink mountolásra kerültek, ellenkező esetben a quota nem működni. Javaslom, hogy kapcsold be a quota-t a rendszered inicializáló scriptje végén, vagy ha úgy gondolod, akkor rögtön azután, hogy a fájlrendszereid mountolásra kerültek a rendszered inicializáló scriptjében.


4. Változtasd meg a /etc/fstab fájlt

Az olyan partíciók, amelyeken még nem engedélyezett a quota, normális esetben valami ilyesféleképpen festenek:

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

Ahhoz, hogy engedélyezzük a felhasználói quota támogatását egy fájlrendszeren, adjuk hozzá a "usrquota" stringet a negyedik mezőben tartalmazott "defaults" szóhoz (a további részletekért....man fstab).

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

Helyettesítsük a "usrquota"-t a "grpquota"-val, amennyiben a csoport quota támogatás szükséges a rendszerünkön.

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

Szükséges egyszerre a felhasználói és a csoport quota támogatása is egy fájlrendszeren ?

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


5. Hozz létre quota rekord "quota.user" és "quota.group" fájlokat.

Minkét quota rekord fájlnak - a quota.user és a quota.group fájlnak is - a root tulajdonában kellene lennie és csak a root részére kellene olvasható- és írhatónak lennie, ezen kívűl senki más részere sem.

Lépjünk be a rendszerbe root-ként. Menjünk annak a partíciónak a gyökerébe, amelyre engedélyezni kívánjuk a quota-t, majd hozzuk létre a quota.user és a quota.gruop fájlokat a következőképpen:

    touch /partition/quota.user
    touch /partition/quota.group
    chmod 600 /partition/quota.user
    chmod 600 /partition/quota.group


6. Újrabootolás

Most bootoljuk újra a rendszert az általunk kieszközölt változtatások életbeléptetésére.

Jegyezzük meg azt, hogy amennyiben engedélyezni kívánjuk a quota-t további partíciókra is, a jövőben már csak a 4-es, 5-ös és a 6-os lépés szükséges.


Quota beállítása Linux operációs rendszeren - 2. rész: Quota kijelölés felhasználók és csoportok számára

Ez a művelet véghezvihető az edquota paranccsal (a további részletekért....man edquota).

Én csak lefuttatnám a quotacheck parancsot az -avug kapcsolókkal ahhoz, hogy hozzájussak a legfrissebb, korábbi fájlrendszer-használathoz, amely szükséges a quota szerkesztéséhez. Ez persze csak egy személyes megszokás, nem pediglen egy mindenáltal megkívánt lépés.


Quota engedélyezése adott felhasználó számára

Következzen egy példa. Van egy bob felhasználói azonosítójú (login id) ember a rendszeremen. Az "edquota -u bob" parancs elindítja számomra a vi szövegszerkesztőt (vagy azt a szövegszerkesztőt, amelyiket a $EDITOR környezeti változóban meghatároztam), a bob nevű felhasználó quotá-jának szerkesztéséhez, valamennyi particióra, amelyre a quota engedélyezve lett.

    Quotas for user bob:
        /dev/hda2: blocks in use: 2594, limits (soft = 5000, hard = 6500)
              inodes in use: 356, limits (soft = 1000, hard = 1500)

A "block in use/használatben lévő blokkok" a felhasználó által a partíción elhasznált összes blokkok számát jelenti (kilobyte-okban).

Az "inodes in use/használatban lévő csomópontok" a felhasználó tulajdonában lévő fájlok számát jelöli az adott partíción.


Quota engedélyezése adott csoport számára

Tegyük fel, hogy van egy games nevű csoport a rendszeremen. Az "edquota -g games" parancs ismételten elindítja a számomra a vi szövegszerkesztőt, hogy megszerkeszthessem a games csoport számára a quota-t:

    Quotas for group games:
        /dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000)
              inodes in use: 1454, limits (soft = 3000, hard = 4000)


Quota engedélyezése nagyobb számú felhasználó számára ugyanazon értékekkel

Hogy gyorsan beállítsam a quota-t mondjuk 100 felhasználó részére a rendszeremen ugyanazokra az értékekre, mint amit a bob nevű felhasználóm számára megadtam, előszőr a bob quota információit kellene megszerkeszteni, majd futtatni a következőt:

    edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`

feltételezve azt, hogy te csh-t használsz és azt, hogy a felhasználói azonosítóid (UID) 500-tól kezdődnek.


Továbbá az edquota esetében létezik 3 tag, amelyekhez hozzá kellene szoktatnod magadat: Soft Limit, Hard Limit és a Grace Period.


Soft Limit

Jelzi a partíción lévo quota felhasználó átlagos maximális lemezhasználatát. Amikor kombináljuk a grace period -dal, ez határvonalként fog működni, és azon quota felhasználó részére figyelmeztetéseket fog eredményezni a küszöbön álló quota áthágással kapcsolatosan, amikor ez megtörténik.

Hard Limit

A hard limit csak olyankor működik, ha a grace period érték is be van állítva. Ez meghatározza a lemezhasználat abszolút korlátját, amelyet egy quota felhasználó már nem tud túllépni.

Grace Period

Lefuttatva az "edquota" paranccsal, a grace period jelenti azt az időkorlátot, mielőtt a soft limit kierőszakolja a fájlrendszer részére a quota engedélyezését. Az időegységek közül a sec(onds), hour(s), day(s), week(s), és a month(s) értékek használhatók. Amit az "edquota" -t parancsra látni fogsz, az a következő:

    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

Változtasd meg a 0 napok (days) részt bármilyen más elfogadhatónak érzett időtartamra. Személy szerint én a 7 napot (7 days) vagy az 1 hetet (1 week) valasztanám.


Különféle Quota parancsok


Quotacheck

A quotacheck használatos egy fájlrendszer lemezhasználatának figyelésére és a quota rekord fájl "quota.user" legfrissebb állapotra való frissítésére. A quotacheck futtatása megkívánt a rendszer bootolása idején, vagy a cron munkálatain keresztül (mondjuk, minden héten ?).


Repquota

A repquota letrehoz egy összesített quota információt a fájlrendszerrel kapcsolatban. Következzen egy egyszerű kimenet (output), amelyet a repquota ad:

# repquota -a
                                Block limits               File limits
        User            used    soft    hard  grace    used  soft  hard  grace
        root      --  175419       0       0          14679     0     0
        bin       --   18000       0       0            735     0     0
        uucp      --     729       0       0             23     0     0
        man       --      57       0       0             10     0     0
        user1     --   13046   15360   19200            806  1500  2250
        user2     --    2838    5120    6400            377  1000  1500

Quotaon és a Quotaoff

A quotaon a quota számlázás (accounting) bekapcsolására; a quotaoff pedig kikapcsolja azt. Valójában a két fájl megegyezik egymással. Ezek a parancsok a rendszer indításakor (startup) és leállításakor (shutdown) kerülnek futtatásra.


Magyar változat: Murzsa Norbert em@il: kuksi@kuksi2.igyuk.hu