Zum Inhalt springen

Quota: Unterschied zwischen den Versionen

Aus Foxwiki
DanielZorin (Diskussion | Beiträge)
DanielZorin (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
Quota ermöglicht die gezielte Begrenzung des belegbaren Festplattenspeichers auf einem System.
Quota ermöglicht die gezielte Begrenzung des belegbaren Festplattenspeichers auf einem System.


* Alle in [[/etc/fstab]] eingetragenen, beschreibbaren Partitionen auf gängigen Linux-Dateisystemen können mit Quotas versehen werden.
* Alle in [[/etc/fstab]] eingetragenen, beschreibbaren Partitionen auf gängigen Linux-Dateisystemen können mit Quota-Grenzen versehen werden
* Quotas können pro Benutzer und pro Gruppe getrennt gesetzt werden.
* Quota-Grenzen können pro Benutzer und pro Gruppe getrennt gesetzt werden
* Beschränkt werden können sowohl der verfügbare Block-Speicherplatz als auch die Anzahl der Inodes (Dateien und Verzeichnisse).
* Beschränkt werden können sowohl der verfügbare Block-Speicherplatz als auch die Anzahl der Inodes (Dateien und Verzeichnisse)
* Optional können bei Überschreitung von Limits zusätzliche Aktionen ausgelöst werden, z. B. Benachrichtigung per E-Mail.
* Optional können bei Überschreitung von Quota-Grenzen (Limits) zusätzliche Aktionen ausgelöst werden, z. B. Benachrichtigung per E-Mail
* Quota wirkt unabhängig davon, ob der Zugriff lokal oder remote (z. B. per [[Secure Shell|SSH]] oder [[FTP]]) erfolgt.
* Quota greift unabhängig davon, ob der Zugriff lokal oder remote (z. B. per [[Secure Shell|SSH]] oder [[FTP]]) erfolgt


Für den Einsatz von Quota unter [[Linux]] wird das Paket '''''quota''''' benötigt. Es stellt die folgenden Werkzeuge zur Verwaltung der Speicherplatzbeschränkungen bereit:
Für den Einsatz von Quota unter [[Linux]] wird das Paket '''''quota''''' benötigt. Es stellt die folgenden Werkzeuge zur Verwaltung der Speicherplatzbeschränkungen bereit:


* ''edquota'': Bearbeiten der Quota-Einträge von Benutzern und Gruppen.
* ''edquota'': Bearbeiten der Quota-Einträge von Benutzern und Gruppen
* ''quotacheck'': Prüfen der Belegung und Erzeugen bzw. Aktualisieren der Quota-Dateien.
* ''quotacheck'': Prüfen der Belegung und Erzeugen bzw. Aktualisieren der Quota-Dateien
* ''quotaon''/''quotaoff'': Aktivieren bzw. Deaktivieren von Quotas auf Dateisystemen.
* ''quotaon''/''quotaoff'': Aktivieren bzw. Deaktivieren der Quota-Überwachung auf Dateisystemen
 
Der Einsatz von Quota dient dazu, übermäßige Belegung von Festplattenspeicher zu verhindern


Der Einsatz von Quota dient dazu, übermäßige Belegung von Festplattenspeicher zu verhindern.
; Hinweis
; Hinweis
Die ständige Überprüfung aller Dateizugriffe daraufhin, ob eine Grenze überschritten wird, ist natürlich nicht ohne Folgen
Die ständige Überprüfung aller Dateizugriffe auf die Einhaltung der Quota-Grenzen verursacht zusätzlichen I/O-Overhead.
* Quota belastet die Leistung der Festplatte
* Quota belastet die Leistungsfähigkeit des Speichersystems
* Ist die Zugriffsgeschwindigkeit ein wichtiges Kriterium, kann man durch Partitionieren erreichen, dass Benutzer nicht den wichtigen Anwendungen den Plattenplatz wegnehmen
* Wenn geringe Latenzzeiten ein zentrales Kriterium sind, können Benutzerdaten auf eigene Partitionen ausgelagert werden, damit Quota nicht auf Partitionen mit latenzkritischen Anwendungen erforderlich ist
* Daher sollte man Quota nur auf Partitionen aktivieren, auf denen Benutzer ihre Daten ablegen
* Quota wird in der Praxis meist nur auf Partitionen aktiviert, auf denen Benutzerdaten abgelegt werden


=== Was sind Quota? ===
=== Einsatzgebiete ===
Benutzer, die an einem System arbeiten und dort ein persönliches Verzeichnis besitzen, neigen dazu, dass sie vielzuviel in dieses Verzeichnis speichern
Dateisystem-Quotas werden überall dort eingesetzt, wo mehrere Konten einen gemeinsamen Speicherpool nutzen und unbegrenzter Verbrauch einzelner Konten die Verfügbarkeit des Systems gefährden könnte.
* Vom hochauflösenden A4-Scan einer Seite, bis über Briefe vom vorletzen Jahr, alles landet auf der Festplatte
* Kein Wunder, dass dann nach kurzer Zeit bereits eine neue Festplatte fällig wird
* Die Lösung dazu heisst ''Quota''
* Mit Quota kann der Systemadministrator den verfügbaren Speicherplatz für jeden Benutzer oder Gruppe einschränken
 
; Wichtige Hinweise
Quota werden zurzeit für jede Partition ''separat'' überwacht
* Falls ein Benutzer auf mehrere Partitionen Schreibrechte hat, muss man für jede Partition eine einzelne Quota setzen, falls dies benötigt wird
* Ob dies vorteilhaft ist oder nicht, darüber kann man sich streiten


=== Einsatzgebiete ===
Typische Einsatzszenarien:
Viele Computerbesitzer wissen gar nicht, wie stark sie durch Quota eingeschränkt werden
* Mailserver: Begrenzung der Größe von Mailspools pro Benutzerkonto
* Ein anschauliches Beispiel sind die Internetprovider
* Webhosting-Umgebungen: Begrenzung des verfügbaren Speicherplatzes pro Kundenaccount oder virtuellem Host
* Viele Kunden von Ihnen empfangen E-Mails oder haben eine Homepage auf dem Server des Providers gespeichert
* Multiuser-Systeme im Intranet oder Rechenzentrum: Begrenzung von Home-Verzeichnissen und Projektbereichen
* Auf den Servern des Providers sind auch Quota gesetzt, beispielsweise
* Storage-Systeme mit gemeinsam genutzten Volumes (z. B. [[NFS]]- oder [[Samba-Server|Samba]]-Freigaben)
* wie groß das E-Mail-Verzeichnis der Kunden sein darf


; Quota kommt vorwiegend bei Servern zum Einsatz
Durch definierte Obergrenzen pro Benutzer, Gruppe oder Projekt wird verhindert, dass einzelne Teilnehmer den verfügbaren Plattenplatz erschöpfen und dadurch Dienste für andere Konten blockieren.
* Denn nur dadurch lässt sich vermeiden, dass Benutzer zu viel auf dem Server ablegen und dadurch die Festplatte füllen


=== Arten von Quota ===
=== Arten von Quota ===


* Die Quotentypen bestimmen den Geltungsbereich:


{| class="wikitable options big"
{| class="wikitable options big"
! Art
! Art
! Ebene
! Zweck
! Zweck
! Besonderheit
! Beschreibung
|-
|-
| Benutzerquota
| Benutzerquota
| Benutzer
| Überwacht den von einzelnen Benutzern belegten Speicherplatz (Blöcke und Inodes).
| Überwacht den von einzelnen Benutzern belegten Speicherplatz (Blöcke und Inodes).
| Limits pro Benutzer.
| Limits pro Benutzer.
|-
|-
| Gruppenquota
| Gruppenquota
| Gruppe
| Überwacht den von Benutzergruppen belegten Speicherplatz (Blöcke und Inodes).
| Überwacht den von Benutzergruppen belegten Speicherplatz (Blöcke und Inodes).
| Limits pro Gruppe.
| Limits pro Gruppe.
|-
|-
| Kombination Benutzer-/Gruppenquota
| Kombination Benutzer-/Gruppenquota
| Benutzer und Gruppe
| Kombination aus Benutzer- und Gruppenquota auf derselben Partition.
| Kombination aus Benutzer- und Gruppenquota auf derselben Partition.
| Benutzerquota hat höhere Priorität als Gruppenquota.
| Benutzerquota hat höhere Priorität als Gruppenquota.
|}
|}
* Quota-Grenzen legen die zulässige Nutzung fest:


{| class="wikitable options big"
{| class="wikitable options big"
Zeile 84: Zeile 73:
|}
|}


== Einbindung von Quota ==


Mit drei Parametern wird eine Quotagrenze bestimmt: Softlimit, Hardlimit und Gnadenfrist (grace period)
=== Quota-Implementierungen ===
* Das Softlimit darf zwar überschritten werden, aber nur für eine gewisse Zeit, die als Gnadenfrist bezeichnet wird
* Das Hardlimit ist die Grenze, die der Benutzer nicht überschreiten darf
* Alle drei Parameter gibt es zweimal, jeweils für die Anzahl der Blöcke und die Anzahl der Dateien.Genauer: die Anzahl der i-nodes


== Einbeziehung von Quoten ==
Es gibt mehrere Möglichkeiten, Quoten unter Linux zu aktivieren. Siehe [[Quota/Realisierungen|Hauptartikel]]
Zur Installation muss der Kernel die Fähigkeit haben, mit Quota umzugehen
 
* Das kann ggf ein Neubilden des Kernels erforderlich machen
=== Quota-Einstellung mit externen Dateien auf ext4-Root-Dateisystem ===
 
==== Voraussetzungen ====
* Kernel mit Quota-Unterstützung (Module ''quota_v1''/''quota_v2'')
* Paket ''quota'' installiert
* Root-Dateisystem '''/''' auf ext4 (Beispiel: ''/dev/sda1'')
 
==== /etc/fstab für Quota mit externen Dateien auf / ====
 
1. In ''/etc/fstab'' wird festgelegt, dass auf ''/'' Quotas über externe Dateien verwendet werden:
 
<syntaxhighlight lang="bash" highlight="" line copy>
/dev/sda1  /  ext4  defaults,usrquota,grpquota  0  1
</syntaxhighlight>
 
* Gerätebezeichnung, Dateisystemtyp und zusätzliche Mount-Optionen sind an das lokale System anzupassen.
* Für journalisierte externe Quotas kann alternativ
 
<syntaxhighlight lang="bash" highlight="" line copy>
usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv1
</syntaxhighlight>
 
2.&nbsp;Anschließend wird das Root-Dateisystem mit den neuen Optionen neu eingehängt:


In der Datei /etc/fstab wird hinterlegt, welche Dateisysteme durch Quota überwacht werden
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
/dev/hda3/mount/hda3 ext2defaults,usrquota 1 1
mount -o remount /
</syntaxhighlight>
</syntaxhighlight>


In das Wurzelverzeichnis des Dateisystems müssen zwei Dateien gelegt werden
3.&nbsp;Überprüfen, ob die Optionen aktiv sind:
* Im folgenden Beispiel ist das Wurzelverzeichnis /mount/hda3
 
* Die Dateien heißen quota.user und quota.group
* Letztere muss auch dann angelegt werden, wenn, wie in diesem Beispiel, gar keine Groupquota angelegt werden
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
touch /mount/hda3/quota.user
cat /proc/mounts | grep " / "
touch /mount/hda3/quota.group
chmod 600 /mount/hda3/quota.user
chmod 600 /mount/hda3/quota.group
mount /dev/hda3 /mount/hda3 -o remount
</syntaxhighlight>
</syntaxhighlight>


Der Befehl touch legt eine leere Datei an, wenn noch keine Datei vorhanden ist
In der Ausgabe sollten ''usrquota'' und ''grpquota'' enthalten sein.
* Anschließend werden die Rechte der Dateien auf 600 gesetzt
 
* Das ist zwingend, damit nur root diese Dateien lesen und schreiben kann
==== Externe Quota-Dateien auf / anlegen ====
* Ansonsten arbeitet das Quota-System nicht
 
* Zum Schluss wird ein Wiedereinhängen des Dateisystems gestartet, damit der Eintrag in der fstab gelesen wird
Aktuelle Quota-Werkzeuge verwenden für externe Dateien üblicherweise die Namen ''aquota.user'' und ''aquota.group'' im Wurzelverzeichnis.
 
Veraltete oder beschädigte Quota-Dateien in `/` sollten gelöscht werden:


Nun wird ermittelt, welche Benutzer wie viel Platz auf der Platte belegt haben
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
quotacheck -avug /dev/hda3
rm -f /quota.user /quota.group /aquota.user /aquota.group
</syntaxhighlight>
</syntaxhighlight>


Dieser Vorgang dauert eine Weile
Anschließend werden die Dateien für Benutzer- und Gruppenquotas auf dem Root-Dateisystem neu erzeugt:
* Die quota.user wird mit Daten gefüllt


Anschließend kann man die Limits für die Benutzer einstellen
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
edquota -u arnold
quotacheck -cugm /
</syntaxhighlight>
</syntaxhighlight>


edquota startet den Standardeditor (meist vi) mit folgenden Einträgen:
* ''-c'': Quota-Dateien neu anlegen
* ''-u'', ''-g'': Benutzer- und Gruppenquotas
* ''-m'': kein temporäres Remount als read-only (wichtig für ''/'')
* ohne ''-a'': Prüfung nur für das angegebene Dateisystem ''/''
 
Die erzeugten Dateien sollten als ''root:root'' mit Modus ''600'' existieren:
 
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
Quotas for user arnold:
ls -l /aquota.*
  /dev/hda3: blocks in use: 8117, limits (soft=0, hard=0)
</syntaxhighlight>
 
==== Quota-Überwachung auf / aktivieren ====
 
Nach der Initialisierung wird die Quota-Überwachung eingeschaltet:
 
<syntaxhighlight lang="bash" highlight="1" line copy>
quotaon -vug /
</syntaxhighlight>
 
* Mit ''quotaoff -vug /'' wird die Überwachung für ''/'' wieder deaktiviert.
* Einige Distributionen stellen systemd-Units wie ''quota.service'' bereit, die bei Bedarf für die automatische Aktivierung beim Booten genutzt werden.
 
;Hinweis
: Auf aktuellen ext4-Kernels erscheint bei ''quotacheck''/''quotaon'' häufig eine Meldung wie:
<syntaxhighlight lang="console" highlight="" line copy>
Your kernel probably supports ext4 quota feature but you are using external quota files. Please switch your filesystem to use ext4 quota feature as external quota files on ext4 are deprecated. You can enable the feature by unmounting the file system and running 'tune2fs -O quota <device>'.
</syntaxhighlight>
 
: Diese Meldung weist darauf hin, dass externe Dateien auf ext4 als veraltet gelten. Wird explizit die Methode mit externen Dateien verwendet, kann die Warnung in vielen Umgebungen ignoriert werden.
 
Ob Quotas tatsächlich erzwungen werden, ist mit Testbenutzern zu prüfen.
 
==== Limits und Gnadenfrist setzen ====
 
Limits für Benutzer ''daniel'' auf dem Root-Dateisystem setzen:
 
<syntaxhighlight lang="bash" highlight="1" line copy>
edquota -u daniel
</syntaxhighlight>
 
Der Editor zeigt typischerweise:
 
<syntaxhighlight lang="console" highlight="" line copy>
Quotas for user daniel:
  /dev/sda1: blocks in use: 8117, limits (soft=0, hard=0)
  inodes in use: 470, limits (soft=0, hard=0)
  inodes in use: 470, limits (soft=0, hard=0)
</syntaxhighlight>
</syntaxhighlight>


Durch eine Änderung der Werte in den Klammern werden das Soft- und das Hardlimit des Benutzers für die jeweilige Platte eingestellt
Durch Anpassen der Soft- und Hardlimits für Blöcke und Inodes werden die Grenzen für ''/dev/sda1'' gesetzt.
 
Die Gnadenfrist für Softlimits wird global definiert:
 
<syntaxhighlight lang="bash" highlight="1" line copy>
edquota -t
</syntaxhighlight>
 
Ausgabe:
 
<syntaxhighlight lang="console" highlight="" line>
Grace period before enforcing soft limits for users:
/dev/sda1: block grace period: 7 days, file grace period: 7 days
</syntaxhighlight>
 
==== Überprüfung ====
Überprüfung der aktuellen Kontingente und der Gnadenfrist für den Benutzer daniel:
 
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
edquota -t zur Einstellung der Gnadenfrist betrifft alle Benutzer gemeinsam:
quota daniel
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda3: block grace period: 7 day, file grace period: 7 days
</syntaxhighlight>
</syntaxhighlight>


Mit quotaon -a wird die Überwachung für alle gestartet, mit quotaoff -a wird sie wieder abgeschaltet
==== Hinweise zur Performance und zum Einsatzbereich ====
* Soll die Überwachung auch nach einem Reboot erfolgen, muss der Befehl in einer rc-Datei eingetragen werden


Ist das Quotasystem aktiv, erhält der Benutzer bei Überschreitung seines Limits eine Meldung am Bildschirm, und der Vorgang wird abgebrochen
* Die Prüfung der Quota-Grenzen bei Schreibzugriffen verursacht messbaren Overhead
* I/O-kritische Anwendungen können auf Partitionen ohne Quota gelegt werden
* Auf Multiuser-Systemen mit hohem Datenaufkommen bleibt die Nutzung von Quota auf ''/'' trotz externer Dateien ein pragmatischer Ansatz, insbesondere wenn Verwaltungswerkzeuge explizit ''aquota.*'' erwarten


Die ständige Überprüfung aller Dateizugriffe darauf, ob eine Grenze überschritten wird, ist natürlich nicht kostenlos
* Quota belasten die Performance der Dateizugriffe
* Ist die Zugriffsgeschwindigkeit ein wichtiges Kriterium, kann man durch Partitionieren erreichen, dass Benutzer nicht den wichtigen Anwendungen den Plattenplatz wegnehmen
* Man braucht nur dafür zu sorgen, dass die betriebswichtigen Anwendungen ihre Daten auf einer eigenen Partition ablegen
* Administrieren Sie eine Maschine mit vielen Benutzern, die sich als Sammler und Jäger im Internet betätigen und neben Bildern, mp3-Dateien nun auch digitale Filme entdecken, führt an der Einrichtung von Quota langfristig kein Weg vorbei


== Anhang ==
== Anhang ==

Aktuelle Version vom 27. November 2025, 09:11 Uhr

Quota - Begrenzungen des Speicherplatzes auf Datenträgern für Benutzer oder Benutzergruppen (Disc-Quota)

Beschreibung

Quota ermöglicht die gezielte Begrenzung des belegbaren Festplattenspeichers auf einem System.

  • Alle in /etc/fstab eingetragenen, beschreibbaren Partitionen auf gängigen Linux-Dateisystemen können mit Quota-Grenzen versehen werden
  • Quota-Grenzen können pro Benutzer und pro Gruppe getrennt gesetzt werden
  • Beschränkt werden können sowohl der verfügbare Block-Speicherplatz als auch die Anzahl der Inodes (Dateien und Verzeichnisse)
  • Optional können bei Überschreitung von Quota-Grenzen (Limits) zusätzliche Aktionen ausgelöst werden, z. B. Benachrichtigung per E-Mail
  • Quota greift unabhängig davon, ob der Zugriff lokal oder remote (z. B. per SSH oder FTP) erfolgt

Für den Einsatz von Quota unter Linux wird das Paket quota benötigt. Es stellt die folgenden Werkzeuge zur Verwaltung der Speicherplatzbeschränkungen bereit:

  • edquota: Bearbeiten der Quota-Einträge von Benutzern und Gruppen
  • quotacheck: Prüfen der Belegung und Erzeugen bzw. Aktualisieren der Quota-Dateien
  • quotaon/quotaoff: Aktivieren bzw. Deaktivieren der Quota-Überwachung auf Dateisystemen

Der Einsatz von Quota dient dazu, übermäßige Belegung von Festplattenspeicher zu verhindern

Hinweis

Die ständige Überprüfung aller Dateizugriffe auf die Einhaltung der Quota-Grenzen verursacht zusätzlichen I/O-Overhead.

  • Quota belastet die Leistungsfähigkeit des Speichersystems
  • Wenn geringe Latenzzeiten ein zentrales Kriterium sind, können Benutzerdaten auf eigene Partitionen ausgelagert werden, damit Quota nicht auf Partitionen mit latenzkritischen Anwendungen erforderlich ist
  • Quota wird in der Praxis meist nur auf Partitionen aktiviert, auf denen Benutzerdaten abgelegt werden

Einsatzgebiete

Dateisystem-Quotas werden überall dort eingesetzt, wo mehrere Konten einen gemeinsamen Speicherpool nutzen und unbegrenzter Verbrauch einzelner Konten die Verfügbarkeit des Systems gefährden könnte.

Typische Einsatzszenarien:

  • Mailserver: Begrenzung der Größe von Mailspools pro Benutzerkonto
  • Webhosting-Umgebungen: Begrenzung des verfügbaren Speicherplatzes pro Kundenaccount oder virtuellem Host
  • Multiuser-Systeme im Intranet oder Rechenzentrum: Begrenzung von Home-Verzeichnissen und Projektbereichen
  • Storage-Systeme mit gemeinsam genutzten Volumes (z. B. NFS- oder Samba-Freigaben)

Durch definierte Obergrenzen pro Benutzer, Gruppe oder Projekt wird verhindert, dass einzelne Teilnehmer den verfügbaren Plattenplatz erschöpfen und dadurch Dienste für andere Konten blockieren.

Arten von Quota

  • Die Quotentypen bestimmen den Geltungsbereich:
Art Zweck Beschreibung
Benutzerquota Überwacht den von einzelnen Benutzern belegten Speicherplatz (Blöcke und Inodes). Limits pro Benutzer.
Gruppenquota Überwacht den von Benutzergruppen belegten Speicherplatz (Blöcke und Inodes). Limits pro Gruppe.
Kombination Benutzer-/Gruppenquota Kombination aus Benutzer- und Gruppenquota auf derselben Partition. Benutzerquota hat höhere Priorität als Gruppenquota.
  • Quota-Grenzen legen die zulässige Nutzung fest:
Limit-Typ Beschreibung
Softlimit Ein Softlimit definiert einen Wert, der kurzfristig überschritten werden darf. Die zulässige Dauer der Überschreitung wird durch die Grace Period bestimmt.
Hardlimit Ein Hardlimit definiert einen Wert, der nie überschritten werden darf. Sobald das Hardlimit erreicht ist, werden weitere Schreiboperationen auf dem betroffenen Dateisystem abgelehnt.
Grace Period Die Grace Period ist die Frist, während der ein gesetztes Softlimit überschritten werden darf. Nach Ablauf der Grace Period werden Softlimits wie Hardlimits behandelt, bis die Nutzung wieder unter das Softlimit sinkt.

Einbindung von Quota

Quota-Implementierungen

Es gibt mehrere Möglichkeiten, Quoten unter Linux zu aktivieren. Siehe Hauptartikel

Quota-Einstellung mit externen Dateien auf ext4-Root-Dateisystem

Voraussetzungen

  • Kernel mit Quota-Unterstützung (Module quota_v1/quota_v2)
  • Paket quota installiert
  • Root-Dateisystem / auf ext4 (Beispiel: /dev/sda1)

/etc/fstab für Quota mit externen Dateien auf /

1. In /etc/fstab wird festgelegt, dass auf / Quotas über externe Dateien verwendet werden:

/dev/sda1   /   ext4   defaults,usrquota,grpquota   0  1
  • Gerätebezeichnung, Dateisystemtyp und zusätzliche Mount-Optionen sind an das lokale System anzupassen.
  • Für journalisierte externe Quotas kann alternativ
usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv1

2. Anschließend wird das Root-Dateisystem mit den neuen Optionen neu eingehängt:

mount -o remount /

3. Überprüfen, ob die Optionen aktiv sind:

cat /proc/mounts | grep " / "

In der Ausgabe sollten usrquota und grpquota enthalten sein.

Externe Quota-Dateien auf / anlegen

Aktuelle Quota-Werkzeuge verwenden für externe Dateien üblicherweise die Namen aquota.user und aquota.group im Wurzelverzeichnis.

Veraltete oder beschädigte Quota-Dateien in `/` sollten gelöscht werden:

rm -f /quota.user /quota.group /aquota.user /aquota.group

Anschließend werden die Dateien für Benutzer- und Gruppenquotas auf dem Root-Dateisystem neu erzeugt:

quotacheck -cugm /
  • -c: Quota-Dateien neu anlegen
  • -u, -g: Benutzer- und Gruppenquotas
  • -m: kein temporäres Remount als read-only (wichtig für /)
  • ohne -a: Prüfung nur für das angegebene Dateisystem /

Die erzeugten Dateien sollten als root:root mit Modus 600 existieren:

ls -l /aquota.*

Quota-Überwachung auf / aktivieren

Nach der Initialisierung wird die Quota-Überwachung eingeschaltet:

quotaon -vug /
  • Mit quotaoff -vug / wird die Überwachung für / wieder deaktiviert.
  • Einige Distributionen stellen systemd-Units wie quota.service bereit, die bei Bedarf für die automatische Aktivierung beim Booten genutzt werden.
Hinweis
Auf aktuellen ext4-Kernels erscheint bei quotacheck/quotaon häufig eine Meldung wie:
Your kernel probably supports ext4 quota feature but you are using external quota files. Please switch your filesystem to use ext4 quota feature as external quota files on ext4 are deprecated. You can enable the feature by unmounting the file system and running 'tune2fs -O quota <device>'.
Diese Meldung weist darauf hin, dass externe Dateien auf ext4 als veraltet gelten. Wird explizit die Methode mit externen Dateien verwendet, kann die Warnung in vielen Umgebungen ignoriert werden.

Ob Quotas tatsächlich erzwungen werden, ist mit Testbenutzern zu prüfen.

Limits und Gnadenfrist setzen

Limits für Benutzer daniel auf dem Root-Dateisystem setzen:

edquota -u daniel

Der Editor zeigt typischerweise:

Quotas for user daniel:
 /dev/sda1: blocks in use: 8117, limits (soft=0, hard=0)
 inodes in use: 470, limits (soft=0, hard=0)

Durch Anpassen der Soft- und Hardlimits für Blöcke und Inodes werden die Grenzen für /dev/sda1 gesetzt.

Die Gnadenfrist für Softlimits wird global definiert:

edquota -t

Ausgabe:

Grace period before enforcing soft limits for users:
 /dev/sda1: block grace period: 7 days, file grace period: 7 days

Überprüfung

Überprüfung der aktuellen Kontingente und der Gnadenfrist für den Benutzer daniel:

quota daniel

Hinweise zur Performance und zum Einsatzbereich

  • Die Prüfung der Quota-Grenzen bei Schreibzugriffen verursacht messbaren Overhead
  • I/O-kritische Anwendungen können auf Partitionen ohne Quota gelegt werden
  • Auf Multiuser-Systemen mit hohem Datenaufkommen bleibt die Nutzung von Quota auf / trotz externer Dateien ein pragmatischer Ansatz, insbesondere wenn Verwaltungswerkzeuge explizit aquota.* erwarten


Anhang

Siehe auch


Dokumentation

Links

Projekt

Weblinks

  1. https://www.linuxhaven.de/dlhp/HOWTO/mini/DE-Quota-HOWTO.html
  2. https://www.debian.org/doc/manuals/securing-debian-manual/ch04s17.de.html
  3. https://debian-handbook.info/browse/de-DE/stable/sect.quotas.html