Wéi Setzt Dateiesystem (Disk) Quoten op Ubuntu


Filesystem Quote ass eng Standard agebaute Feature déi am Linux Kernel fonnt gëtt. Quoten bestëmmen d'Quantitéit u Plaz e Fichier soll hunn fir d'Benotzeraktivitéiten z'ënnerstëtzen. D'Disk Quoten limitéieren och d'Zuel vun de Dateien, déi e Benotzer um System erstellen kann.

Dateiesystemer déi de Quotesystem ënnerstëtzen enthalen xfs, ext2, ext4, an ext3 fir e puer ze nennen. D'Zeeche vu Quoten ass spezifesch fir de Dateiesystem a fir all Benotzer. Dësen Artikel dréit alles wat Dir wësse musst iwwer d'Aarbecht mam Quotendateisystem an engem Multi-User Ubuntu 18.04 Ëmfeld.

D'Annahme hei ass datt Dir Ubuntu 18.04 System benotzt mat engem Benotzer (tecmint) deen Sudo Rechter kritt. D'Iddien, déi hei gedeelt ginn, kënnen op all Linux Distros funktionnéieren soulaang Dir déi richteg Implementéierungstechnik benotzt.

Schrëtt 1: Installéiere Quota an Ubuntu

Fir Quoten prett a benotzbar ze sinn, installéiert d'Quote Kommandozeil-Tool mat dem apt Kommando, awer ier Dir musst d'System Software Packagen aktualiséieren.

$ sudo apt update

Benotzt elo de folgende Kommando fir Quotepaket op Ubuntu z'installéieren.

$ sudo apt install quota

Press Y, an dann ENTER fir den Installatiounsprozess unzefänken.

Bestätegt d'Installatiounsversioun andeems Dir de Kommando hei drënner leeft. Är Versiounsnummer kann ënnerscheeden vun deem wat Dir hei ënnen gesitt.

$ quota --version

Schrëtt 2: Installéiere vum Modul fir Quota Kernel

Déi, déi e Cloud-baséiert virtuelle System lafen, kënnen d'Standard Ubuntu Installatioun d'Kernelmodule fehlen, déi d'Benotzung vu Quoten ënnerstëtzen. Dir musst mat dem Find-Tool bestätegen a sécherstellen datt déi zwee Moduler, quota_v1, an quota _v2, am /lib/modules Verzeichnis sinn.

$ find /lib/modules/`uname -r` -type f -name '*quota_v*.ko*'

Dëst sollt d'Resultat vum uewe genannte Kommando sinn.

Maacht Iech keng Suergen iwwer d'Kernel Versiounen soulaang déi zwee Moduler präsent sinn. Wann net fonnt, benotzt de folgende Kommando fir Quotekernelmoduler z'installéieren wéi gewisen.

$ sudo apt install linux-image-extra-virtual

Dir kritt déi richteg Moduler déi Dir braucht fir Quotenimplementatioun.

Schrëtt 3: Update Dateisystem Mount Optiounen

Fir datt d'Quoten op engem spezifesche System aktiv sinn, muss se mat verbonne Quoteoptiounen montéiert sinn. Dir kënnt dat maachen andeems Dir d'Dateisystementrée aktualiséiert, déi an der /etc/fstab Datei fonnt gëtt.

$ sudo nano /etc/fstab

Dir sollt prett sinn d'Datei entspriechend z'änneren. Den Ënnerscheed tëscht enger fstab Datei an engem Desktop ass den Ënnerscheed wéi de / oder de Root Dateisystem de ganzen Disk Space duerstellt. Ersetzt d'Linn (/) déi op de Rootsystem weist mat de Linnen hei drënner.

LABEL=cloudimg-rootfs   /        ext4   usrquota,grpquota        0 0

D'Linnen änneren fir datt d'Benotzerquote an d'grpquota zougänglech sinn. Dir kënnt een verloossen deen net Deel vun der Finale Configuratioun ass. Wann de fstab e puer Optiounen hat, füügt déi nei Optiounen um Enn vun der Zeil. Wärend Dir d'Appendéiere maacht, trennt déi nei Elementer mat engem Komma awer ouni Abstand tëscht hinnen.

Remount de Dateiesystem fir datt d'Ännerungen a Kraaft trieden.

$ sudo mount -o remount /

NOTÉIERT: Bestätegt datt keng Plazen tëscht den Optiounen am /etc/fstab existéieren fir sou Feeler ze vermeiden.

mount: /etc/fstab: parse error

D'Verifizéierung vun der Notzung vun neien Optiounen beim Montage vum Dateiesystem an der /proc/mounts Datei gëtt duerch grep gemaach. De Kommando weist d'Root Dateisystem Entrée an der Datei.

$ sudo cat /proc/mounts | grep ' / '

Vun der Ausgab kënnt Dir déi zwou Optiounen gesinn, déi mir ageriicht hunn. Et ass Zäit de Quotesystem opzemaachen.

Schrëtt 4: Disk Quoten op Ubuntu aktivéieren

Als éischt musst Dir de Quotacheck Kommando ausféieren.

$ sudo quotacheck -ugm /

De Kommando erstellt zwee Dateien e Quote Benotzer an eng Quotegrupp déi Informatioun iwwer d'Limite an d'Benotzung vum Dateiesystem hunn. Dës Dateie musse präsent sinn ier Dir d'Quote benotzt.

Hei ass eng Definitioun vun de Parameteren:

  • -u: symboliséiert datt e Benotzer-baséiert Quotedatei erstallt gëtt.
  • -g: weist datt eng Gruppebaséiert Quotedatei erstallt gëtt.
  • -m: deaktivéiert d'Remounting vum Dateiesystem als e Read-only a gläichzäiteg genee Resultater an engem Ëmfeld wou de Benotzer weider Dateien späichert. D'Optioun m ass net obligatoresch beim Setup.

Wann et net néideg ass d'Benotzung vu Quoten op Basis vu Benotzer oder Grupp z'aktivéieren, ass et net néideg d'Quotacheck-Optioun auszeféieren. Bestätegt dëst andeems Dir de Root-Verzeichnis mam ls Kommando benotzt.

$ ls /
aquota.group  bin   dev  home        initrd.img.old  lib64       media  opt   root  sbin  srv  tmp  var      vmlinuz.old
aquota.user   boot  etc  initrd.img  lib             lost+found  mnt    proc  run   snap  sys  usr  vmlinuz

Wann Dir d'Parameteren u an g net am Kommando quotacheck enthält, fehlen déi entspriechend Dateien.

Elo si mir prett fir d'Quote op de Root (/) Dateiesystem mat dem folgenden Kommando auszeschalten.

$ sudo quotaon -v /

Schrëtt 5: Configuréieren Quoten fir en eenzege Benotzer

Mir kënnen d'Edquota an Setquota Kommandoe benotze fir se fir Benotzer oder Gruppen ze setzen.

D'edquota Kommandoen änneren Quoten, zum Beispill kënne mir eng Quote änneren, déi dem tecmint Benotzer gehéiert mat:

$ sudo edquota -u tecmint

Mat der -u Optioun spezifizéiert datt d'Quot zu engem Benotzer gehéiert. Benotzt d'Optioun -g wann Dir eng Quote ännere musst déi zu enger Grupp gehéiert. De Kommando öffnet eng Datei mat Ärem Choix vum Texteditor.

D'Ausgab listet de Benotzernumm, Uid, de Dateiesystem mat aktive Quoten, an d'Benotzung vu Blocken an Inoden. Eng Quote-baséiert op Inoden limitéiert d'Zuel vun de Fichieren a Verzeichnisser, déi d'Benotzer kënnen erstellen, onofhängeg vun der Gréisst déi se op der Disk benotzen. Déi meescht Admins léiwer de Blockbaséierte Quote deen den Disk Space kontrolléiert.

NOTÉIERT: d'Benotzung vu Blocks weist net wéi et ofhängeg vu verschiddene Faktoren kann änneren wéi de Kommandozeilinstrument dat se bericht. Bannent de Kontextquoten op Ubuntu kënne mir ugeholl datt en eenzege Block d'selwecht ass wéi ee Kilobyte Disk Space.

Mat der Kommandozeil hei uewen benotzt de Benotzer 2032 Blocks, wat d'selwecht ass wéi 2032KB Plaz op der /dev/sda1. Den 0 Wäert deaktivéiert souwuel mëll wéi och haart Grenzen.

All Quote-Set erlaabt Iech déi mëll an haart Limit opzestellen. E Benotzer, deen iwwer déi mëll Limit geet, kann iwwer hir Quote sinn, awer net verbannt fir méi Plazen oder Inoden ze benotzen. De Benotzer an esou engem Fall huet siwen Deeg fir hir mëll Limite Plaz ze erléisen, net ze maachen dat mécht et schwéier Dateien ze späicheren oder ze kreéieren.

Eng haart Limit heescht datt d'Schafung vun neie Blocken oder Inoden stoppt de Moment wou Dir d'Limite trefft. D'Benotzer mellen Warnungen oder Feeler ze gesinn wärend se regelméisseg Aufgaben ausféieren.

Mir kënnen dem Tecmint säi Blockquote aktualiséieren fir eng mëll Limit vun 100MB an 110MB fir déi haart Limit ze hunn.

No der Redaktioun, schléisst d'Datei zou a kontrolléiert déi nei Benotzerkontingentlimit-Astellunge mat dem Quotebefehl.

$ sudo quota -vs tecmint

NOTÉIERT: Gitt Är Benotzer d'Méiglechkeet hir Quoten ze analyséieren ouni de sudo Kommando ze ruffen, se mussen Zougang kréien fir Quotendateien ze liesen wärend der Schafungsphase am Schrëtt véier. Een einfache Wee fir dat ze maachen ass e Benotzer säi Grupp ze kreéieren an de Grupp Zougang ze ginn fir datt Dir Benotzer derbäi kënnt.

setquota aktualiséiert d'Quoteinformatioun mat engem eenzege Kommando ouni interaktive Setup. De Kommando erfuerdert de Benotzernumm a setze souwuel déi mëll wéi och haart Limiten déi d'Block an d'Inode benotzen. Dir musst och de Dateiesystem deklaréieren deen d'Quote benotzt.

$ sudo setquota -u tecmint 200M 220M 0 0 /

De Kommando verduebelt d'Block-baséiert Quotegrenzen op 200 Megabytes an 220 Megabytes. Déi zwee 0 0 weisen datt souwuel déi haart wéi och déi mëll Grenzen net festgeluegt sinn, et ass eng Fuerderung och wann et kee Besoin ass fir Inode-baséiert Quoten ze setzen.

Wéi gewinnt, benotzt d'Quote Kommando fir Är Fortschrëtter z'iwwerpréiwen.

$ sudo quota -vs tecmint

Schrëtt 6: Quoteberichter generéieren

Generéiere vun engem Quotebericht, et muss d'Benotzung vun all Benotzer uginn. De Kommando repquota gëtt benotzt.

$ sudo repquota -s /

Den Output uewendriwwer ass e Bericht iwwer de / Root Dateiesystem. De -s instruéiert Repquota fir Resultater am mënschlech liesbare Format ze ginn.

D'Standard Block Gnod Zäit ass 7 Deeg. D'Gnod Kolonn alarméiert de Benotzer iwwer d'Zuel vun Deeg virum Verweigerung vum Zougang zu der Ressourcediskussioun.

Schrëtt 7: Setzt d'Konfiguratioun Grace Perioden

D'Gnodzäit ass déi Zäit wou e Benotzer d'Erlaabnis kritt fir iwwer de Standard Timing ze schaffen.

$ sudo setquota -t 864000 864000 /

De Kommando instruéiert d'Block an d'Inode eng Gnodzäit vun 864000 Sekonnen ze hunn en Äquivalent vun 10 Deeg. D'Astellung wäert all Benotzer beaflossen, dofir musse Wäerter festgeluegt ginn och wann et kee Gebrauch vu Blocken an Inoden gëtt. Den Zäitwäert muss a Sekonnen sinn.

Bestätegt d'Ännerungen a kuckt ob et a Kraaft getrueden ass mam Kommando:

$ sudo repquota -s /

Gemeinsam Feeler Messagen

quotaon: cannot find //aquota.group on /dev/vda1 [/]
quotaon: cannot find //aquota.user on /dev/vda1 [/]

Deen uewe genannte Feeler ass heefeg wann Dir probéiert Quoten mat dem Kommando qoutaon auszeschalten ier e Versuch de Status vun enger Quote mat dem Kommando Quotecheck ze kontrolléieren.

quotaon: using //aquota.group on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.
quotaon: using //aquota.user on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.

Dëse Feeler seet dem Administrator datt de Kernel net ënnerstëtzt oder Dir kéint déi falsch Versioun op der Maschinn hunn (mir hunn quota_v1 an quota_v2). Fir Ubuntu sinn esou Feeler üblech op engem Cloud-baséiert virtuelle Server.

Fixéiert de Fehler andeems Dir de Linux-image-extra-virtuelle Package installéiert mat apt Kommando.

quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //quota.user: No such file or directory

De Feeler ass bemierkenswäert wann den aktuelle Benotzer keng Erlaabnis huet fir Quotendateien ze liesen. Als Administrator musst Dir nëmmen déi richteg Erlaabnis Ännerungen maachen oder sudo benotzen wann Dir Zougang zu Dateien an engem Quotesystem oder Datei braucht.

Am Top vum Artikel hu mir ugefaang mat Quote Kommandozeil Tools an der Verifizéierung vun der Kernel Versioun a si weider gaang fir z'erklären wéi een e Blockbaséiert Quote fir en eenzege Benotzer opstellt a wéi ee Bericht iwwer e Dateiesystemquote generéiert. Benotzung.

Den Artikel deckt och allgemeng Feeler a wéi Dir se vermeit andeems Dir en extra Package benotzt oder d'Kernelversioun op Ärem System verifizéiert.