  Quota Mini Hogyan
  Albert M.C. Tam bertie@scn.org
  v0.0, 1997. augusztus 8

  Elsz: E dokumentum szerzi jognak tulajdonosa Albert M.C. Tam
  (bertie@scn.org). Ezen dokumentum hasznlati, msolsi s terjesztsi
  joga ezennel engedlyezett, amennyiben valamennyi msolatban/tmogat
  dokumentumban feltnik a szerz/szerkeszt neve s ezt a dokumentumot
  nem vltoztatjk meg. Ez a lers annak remnyben terjesztett, hogy
  hasznosnak bizonyul, m SEMMIFLE GARANCIT nem fejez ki s nem is
  foglal magban. Amg valamennyi erkifejts arra irnyul, hogy biz
  tostsa az ebben a dokumentumben tallhat informcik hitelessgt, a
  szerz/szerkeszt/fenntart nem vllal felelssget a hibkrt, vagy
  az e dokumentum felhasznlsnak eredmnybl adod esetleges
  srlsekrt.  Ez a dokumentum lerja azt, hogy miknt engedlyezzk a
  fjlrendszer quota-t egy Linux opercis rendszer szmtgpen,
  megllaptva a quota-t a felhasznlk s a csoportok rszre ppgy,
  mint a klnfle quot-val kapcsolatos parancsok hasznlatt. A quota
  a 2.x verzij kernelt alkalmaz felhasznlk szmra sznt
  (mostanban a 2.0.27-es verzij kernelt futtat Red Hat 4.1-en
  tesztelt*). Azon a felhasznlk szmra, akik ennl rgebbi kernelt
  futtatnak, szksges lehet egy jabb kernel verzira val frissts
  ahhoz, hogy kiaknzhassk a kvtbl ered elnyket.  A fordts pil
  lanatban a legfrissebb stabil kernel verziszma 2.0.36./A ford. meg
  jegyzse./ rezd magad feljogostva arra, hogy visszajelzseket vagy
  megjegyzseket kldj a bertie@scn.org cmre, amennyiben hibt tallnl
  vagy esetleg brminem informci hinyt fedeznd fel. Mltnyolni
  fogom.  Magyar vltozat: Murzsa Norbert (kuksi@igyuk.hu)

  1.  Mi az a quota?


  A quota engedi szmodra, hogy korltokat hatrozz meg a lemezen
  megvalsul trolsra kt szempontbl is: meghatrozhatod a
  felhasznl s egy felhasznli csoport bitrokban lv lehetsges
  csompontok (inodes) szmt, valamint definilhatod a felhasznlhoz
  s egy felhasznli csoporthoz tartoz lemezblokkok szmt is.

  A quota alaptlete mgtt az ll, hogy rknyszeritsk a
  felhasznlkat arra, hogy maradjanak a rszkre kijellt
  lemezfogyasztsi korlt alatt, ezzel megfosztva ket a rendszeren
  tallhat lemezterletek korltlan felhasznlstl. A quota
  felhasznlnknt, valamint fjlrendszerenknt kezelhet. Amennyiben
  valsznsthet, hogy egynl tbb fjlrendszeren hozhat ltre
  fjlokat a felhasznl, akkor a kvtt valamennyi fjlrendszerre
  kln-kln be kell lltani.

  2.  A Linux quota jelenlegi llapota

  A quota tmogats - legalbbis amint hallottam - az 1.3.8x verzij
  kernelektl kezdden integrlt a kernelbe. Manapsg rsze a 2.0
  verzij Linux kernelnek. Amennyiben a rendszered nem tmogatja a
  kvtt, javaslom a rendszer frisstst (upgrade).

  Pillanatnyilag a quota csak az ext2 tipus fjlrendszerek szmra
  hasznlhat.

  3.  Felttelek a quota hasznlatra Linux opercis rendszeren


  3.1.  Kernel


  A 2.x verzij kernel forrs elrhet a:


  ______________________________________________________________________
  http://sunsite.unc.edu/pub/Linux/kernel/v2.0
  ______________________________________________________________________


  cmen.

  3.2.  A quota szoftvere


  Attl fggen, hogy milyen disztribcink van; lehet, hogy installlt,
  de lehet, hogy nem installlt a quota szoftver a rendszernkn.
  Amennyiben nincs installlva, letlthet a quota szoftvernek forrsa
  az

  ______________________________________________________________________
  ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz.
  ______________________________________________________________________


  cmrl.


  4.  A quota belltsa a Linux opercis rendszeren - 1. rsz: a kon
  figurci


  4.1.  1. A kerneled jrakonfigurlsa


  Konfigurld jra a kerneled s add hozz a quota tmogatst begpelve
  egy "y"-t a kvetkez helyen:

  ______________________________________________________________________
  Quota support (CONFIG_QUOTA) [n] y
  ______________________________________________________________________



  4.2.  2. Fordtsd le s installld a quota programot


  A quota szoftver forrsa elrhet az

  ______________________________________________________________________
  ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz
  ______________________________________________________________________


  cmen.

  4.3.  3. Vltoztasd meg a rendszered inicializcis scriptjt, ahol a
  quota vizsglata trtnik s kapcsold be a qout-t bootidben.


  me egy plda:



  ______________________________________________________________________
  # Ellenrizd a quota-t s kapcsold is be/Check quota and then turn quota on.
  if [ -x /usr/sbin/quotacheck ]
          then
                 echo "Ellenrzm a quott./Checking quotas. This may take some time."
                 /usr/sbin/quotacheck -avug
                 echo " Ksz/Done."
          fi
           if [ -x /usr/sbin/quotaon ]
          then
                 echo "Bekapcsolom a quota-t./Turning on quota."
                 /usr/sbin/quotaon -avug
          fi
  ______________________________________________________________________



  Aranyszably, hogy a mindg kapcsoljuk be a quota-t, mihelyt a
  /etc/fstab fjlban felsorolt fjlrendszereink mountolsra kerltek,
  ellenkez esetben a quota nem mkdni. Javaslom, hogy kapcsold be a
  quota-t a rendszered inicializl scriptje vgn, vagy ha gy
  gondolod, akkor rgtn azutn, hogy a fjlrendszereid mountolsra
  kerltek a rendszered inicializl scriptjben.

  4.4.  4. Vltoztasd meg a /etc/fstab fjlt

  Az olyan partcik, amelyeken mg nem engedlyezett a quota, normlis
  esetben valami ilyesflekppen festenek:

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



  Ahhoz, hogy engedlyezzk a felhasznli quota tmogatst egy
  fjlrendszeren, adjuk hozz a "usrquota" stringet a negyedik mezben
  tartalmazott "defaults" szhoz (a tovbbi rszletekrt....man fstab).

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



  Helyettestsk a "usrquota"-t a "grpquota"-val, amennyiben a csoport
  quota tmogats szksges a rendszernkn.

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



  Szksges egyszerre a felhasznli s a csoport quota tmogatsa is
  egy fjlrendszeren?

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


  4.5.  5. Hozz ltre quota rekord "quota.user" s "quota.group"
  fjlokat.


  Minkt quota rekord fjlnak - a quota.user s a quota.group fjlnak is
  - a root tulajdonban kellene lennie s csak a root rszre kellene
  olvashat- s rhatnak lennie, ezen kvl senki ms rszere sem.

  Lpjnk be a rendszerbe root-knt. Menjnk annak a partcinak a
  gykerbe, amelyre engedlyezni kvnjuk a quota-t, majd hozzuk ltre
  a quota.user s a quota.gruop fjlokat a kvetkezkppen:

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



  4.6.  6. jrabootols


  Most bootoljuk jra a rendszert az ltalunk kieszkzlt vltoztatsok
  letbelptetsre.

  Jegyezzk meg azt, hogy amennyiben engedlyezni kvnjuk a quota-t
  tovbbi partcikra is, a jvben mr csak a 4-es, 5-s s a 6-os
  lps szksges.

  5.  Quota belltsa Linux opercis rendszeren - 2. rsz: Quota
  kijells felhasznlk s csoportok szmra

  Ez a mvelet vghezvihet az edquota paranccsal (a tovbbi
  rszletekrt....man edquota).

  n csak lefuttatnm a quotacheck parancsot az -avug kapcsolkkal
  ahhoz, hogy hozzjussak a legfrissebb,  korbbi fjlrendszer-
  hasznlathoz, amely szksges a quota szerkesztshez. Ez persze csak
  egy szemlyes megszoks, nem pediglen egy mindenltal megkvnt lps.

  5.1.  Quota engedlyezse adott felhasznl szmra


  Kvetkezzen egy plda. Van egy bob felhasznli azonostj (login id)
  ember a rendszeremen. Az "edquota -u bob" parancs elindtja szmomra a
  vi szvegszerkesztt (vagy azt a szvegszerkesztt, amelyiket a
  $EDITOR krnyezeti vltozban meghatroztam), a bob nev felhasznl
  quot-jnak szerkesztshez, valamennyi particira, amelyre a quota
  engedlyezve 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/hasznlatben lv blokkok" a felhasznl ltal a
  partcin elhasznlt sszes blokkok szmt jelenti (kilobyte-okban).

  Az "inodes in use/hasznlatban lv csompontok" a felhasznl
  tulajdonban lv fjlok szmt jelli az adott partcin.

  5.2.  Quota engedlyezse adott csoport szmra<


  Tegyk fel, hogy van egy games nev csoport a rendszeremen. Az
  "edquota -g games" parancs ismtelten elindtja a szmomra a vi
  szvegszerkesztt, hogy megszerkeszthessem a games csoport szmra 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)
  ______________________________________________________________________



  5.3.  Quota engedlyezse nagyobb szm felhasznl szmra ugyanazon
  rtkekkel


  Hogy gyorsan belltsam a quota-t mondjuk 100 felhasznl rszre a
  rendszeremen ugyanazokra az rtkekre, mint amit a bob nev
  felhasznlm szmra megadtam, elszr a bob quota informciit
  kellene megszerkeszteni, majd futtatni a kvetkezt:

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


  felttelezve azt, hogy te csh-t hasznlsz s azt, hogy a felhasznli
  azonostid (UID) 500-tl kezddnek.

  Tovbb az edquota esetben ltezik 3 tag, amelyekhez hozz kellene
  szoktatnod magadat: Soft Limit, Hard Limit s a Grace Period.

  5.4.  Soft Limit


  Jelzi a partcin lvo quota felhasznl tlagos maximlis
  lemezhasznlatt.  Amikor kombinljuk a grace period-dal, ez
  hatrvonalknt fog mkdni, s azon quota felhasznl rszre
  figyelmeztetseket fog eredmnyezni a kszbn ll quota thgssal
  kapcsolatosan, amikor ez megtrtnik.

  5.5.  Hard Limit


  A hard limit csak olyankor mkdik, ha a grace period rtk is be van
  lltva. Ez meghatrozza a lemezhasznlat abszolt korltjt, amelyet
  egy quota felhasznl mr nem tud tllpni.

  5.6.  Grace Period


  Lefuttatva az "edquota -t" paranccsal, a grace period jelenti azt az
  idkorltot, mieltt a soft limit kierszakolja a fjlrendszer rszre
  a quota engedlyezst. Az idegysgek kzl a sec(onds), hour(s),
  day(s), week(s), s a month(s) rtkek hasznlhatk. Amit az "edquota
  -t" parancsra ltni fogsz, az a kvetkez:



  ______________________________________________________________________
  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
  ______________________________________________________________________



  Vltoztasd meg a 0 napok (days) rszt brmilyen ms elfogadhatnak
  rzett idtartamra. Szemly szerint n a 7 napot (7 days) vagy az 1
  hetet (1 week) valasztanm.

  6.  Klnfle Quota parancsok


  6.1.  Quotacheck


  A quotacheck hasznlatos egy fjlrendszer lemezhasznlatnak
  figyelsre s a quota rekord  fjl "quota.user" legfrissebb llapotra
  val frisstsre.  A quotacheck futtatsa megkvnt a rendszer
  bootolsa idejn, vagy a cron munklatain keresztl (mondjuk, minden
  hten ?).

  6.2.  Repquota


  A repquota ltrehoz egy sszestett quota informcit a
  fjlrendszerrel kapcsolatban. Kvetkezzen 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
  ______________________________________________________________________



  6.3.  Quotaon s a Quotaoff


  A quotaon a quota szmlzs (accounting) bekapcsolsra; a quotaoff
  pedig kikapcsolja azt. Valjban a kt fjl megegyezik egymssal. Ezek
  a parancsok a rendszer indtsakor (startup) s lelltsakor
  (shutdown) kerlnek futtatsra.



