Quota

Aus Foxwiki

topic kurze Beschreibung

Beschreibung

Installation

Syntax

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Konfiguration

Dateien

Anwendungen

Sicherheit

Dokumentation

RFC

Man-Pages

Info-Pages

Siehe auch

Links

Projekt-Homepage

Weblinks

Einzelnachweise


Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5

TMP

2. Allgemeines über Quota

2.1 Was sind Quota?

Benutzer, die an einem System arbeiten und dort ein persönliches Verzeichnis besitzen, neigen dazu, dass sie vielzuviel in dieses Verzeichnis speichern. 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.

2.2 Wichtige Hinweise

Quota werden zur Zeit für jede Partition seperat ü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.

2.3 Wo kommen Quota zum Einsatz?

Viele Computerbesitzer wissen gar nicht, wie stark sie durch Quota eingeschränkt werden. Ein gutes Beispiel dazu sind die Internet Provider. Viele Kunden von Ihnen empfangen E-Mails oder haben eine Homepage auf dem Server des Providers gespeichert. Auf den Servern des Providers sind auch Quota gesetzt, z.B. wie gross das E-Mail-Verzeichnis der Kunden sein darf.

Quota kommt vorallem bei Servern zum Einsatz. Denn nur dadurch lässt sich vermeiden, das Benutzer zuviel auf dem Server ablegen und dadurch die Festplatte füllen.

2.4 Aktueller Status von Quota

Der Quota-Support ist Teil der Kernelgeneration 2.2. Falls Ihr System keinen Quota-Support bereitstellt, empfehle ich ein Upgrade. Das Upgrade ist auch sonst sinnvoll, da die Kernelversionen 2.2.x neue, sinnvolle Features enthalten. Zur Zeit arbeitet Quota nur mit dem Dateisystem ext2.

2.5 Minimale Systemanforderungen

Kernel

Es wird mindestens ein Kernel der 2.0.x-Serie benötigt. Den Source kann man von

[./Ftp://metalab.unc.edu/pub/Linux/kernel/v2.0 metalab.unc.edu:/pub/Linux/kernel/v2.0]

herunterladen. Natürlich funktioniert auch die Kernelgeneration 2.2.

Quota Software

Um Quota zu setzen, benötigt man noch die Quota Software. Bei vielen neueren Distrubutionen ist die Quota Software bereits enthalten. Falls dies nicht der Fall ist, kann man sich den Source von

[./Ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/ ftp.funet.fi:/pub/Linux/PEOPLE/Linus/subsystems/quota/]

herunterladen und kompilieren.

3. Welche Arten von Quota gibt es?

In dem gesamten Dokument werde ich die Begriffe Softlimit (siehe Softlimit), Hardlimit (siehe Hardlimit) und Grace Period (siehe Grace Period) in ihrer englischen Form belassen, da es meines Erachtens keine sinvolle Übersetzung dafür gibt. Wenn im Text die Rede von Softlimit oder Hardlimit ohne Zusatz ist, sind jeweils beide Arten, Block- und Inoden-Limiten gemeint.

3.1 Quota auf Benutzerebene

Bei Quota auf Benutzerebene wird der Speicherplatz der einzelnen Benutzer überwacht. Mit dieser Methode kann man den Speicherplatz, den ein Benutzer füllen darf, begrenzen. Im weiteren Verlauf dieses Dokuments wird diese Form der Quota als Benutzerquota bezeichnet werden.

3.2 Quota auf Gruppenebene

Bei Quota auf Gruppenebene wird der Speicherplatz der einzelnen Gruppen überwacht. Mit dieser Methode kann man den Speicherplatz, den eine Gruppe füllen darf, begrenzen. Im weiteren Verlauf dieses Dokuments wird diese Form der Quota als Gruppenquota bezeichnet werden.

3.3 Kombination von Quota auf Benutzerebene/Gruppenebene

Falls auf einer Partition Quota auf Benutzer- und Gruppenebene zum Einsatz kommen, haben Quota auf Benutzerebene eine höhere Priorität. Wenn z.B. eine Gruppe ein Limit von 5 MBytes hat, und eine Angehöriger dieser Gruppe hat ein Limit von 20 MBytes, so darf dieser maximal 20 MBytes füllen, auch wenn seine Gruppe nur 5 MBytes dürfte. Im weiteren Verlauf dieses Dokuments wird diese Form der Quota als Benutzer- und Gruppenquota bezeichnet werden.

3.4 Softlimit

Ein Benutzer darf sein Softlimit für eine kurze Zeit überschreiten. Aber eben nur eine kurze Zeit. Dieser Zeitraum, in dem er das Softlimit überschreiten darf, ist durch die Grace Period festgelegt.

3.5 Hardlimit

Ein Benutzer kann sein Hardlimit nicht überschreiten. Es gibt keine Möglichkeit für den Benutzer, diese Limite zu umgehen.

3.6 Grace Period

Die Grace Period ist ein Zeitraum. Sobald ein Benutzer sein Softlimit überschreitet, beginnt die Grace Period zu ticken. Wenn sie ersteinmal heruntergezählt ist, darf der betreffende Benutzer vorerst keine Daten mehr auf die Partition, auf der er das Softlimit überschritten hat, schreiben. Er darf erst wieder schreiben, wenn er sein Softlimit wieder unterschreitet.

4. Das System auf Quota vorbereiten

4.1 Kernelkonfiguration

Bei der Kernelkonfiguration muss man auf die Frage

mit »y« antworten.

4.2 Kompilieren und Installieren der Quota Software

Den Source von der Quota Software findet man unter

[./Ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/ ftp.funet.fi:/pub/Linux/PEOPLE/Linus/subsystems/quota/]

Eventuell ist es günstiger, die Software von einem Mirror zu laden, da obengenannter Server die meiste Zeit überlastet ist.

4.3 Anpassen der /etc/fstab

Auf einem System, auf dem Quota noch nie zum Einsatz kam, sieht die /etc/fstab normalerweise so aus:

Falls man Benutzerquota einsetzen möchte, muss man die Option »usrquota« einsetzen; das Ergebnis könnte dann zum Beispiel so aussehen:

Falls man Gruppenquota einsetzen möchte, muss man die Option »grpquota« einsetzen; das Ergebnis könnte dann zum Beispiel so aussehen:

Falls beide obengenannten Optionen benötigt werden:

4.4 Erstellen der Dateien quota.user und quota.group

Auf den vorhergehenden Seiten wurde erwähnt, das es Benutzerquota und Gruppenquota gebe und das die Quota für jede Partition einzeln überwacht werde. Aus diesen Gründen muss man für jede zu überwachende Partition zwei Dateien erstellen. Auch wenn nur Benutzerquota oder Gruppenquota zum Einsatz kommen, muss man zwei Dateien haben.

Diese zwei Dateien müssen im Wurzelverzeichnis der Partition sein und quota.user und quota.group heissen. Am besten setzt man die Zugriffsrechte so, das nur root die Datei lesen und schreiben darf, ansonsten könnten andere Benutzer die Quota ändern. Die Dateien erstellt man so:

In dem Beispiel wird davon ausgegangen, dass die zu überwachende Partition unter /partition gemountet ist. Das man diese Operation als root durchführen muss, muss wohl nicht speziell erwähnt werden.

4.5 Nachträglich eine Partition einbinden

Falls man alle Quota schon gesetzt hat, und eine weitere Partition einbinden will, so müssen nur die Schritte in den Abschnitten Anpassen der /etc/fstab und Erstellen der Dateien quota.user und quota.group für die einzubindende Partition durchgeführt werden. Dann kann man die Quota wie im Abschnitt Setzen der Quota beschrieben anpassen.

4.6 Änderungen wirksam machen

Nun könnte man einfach das System rebooten, um die Änderungen wirksam zu machen. Aber wir betreiben ja ein Linux System und da geht fast alles ohne neu zu booten. Um die Quotas nun tatsächlich zu aktivieren, genügt es, einfach die entsprechende Partition unzumounten und wieder zu mounten. Einfacher geht dies indem man mount mit der Option »-o remount« aufruft. Beispielweise:

Im Falle des Wurzelverzeichnisses ist dies sogar die einzige Möglichkeit, da wir / nicht einfach im laufenden Betrieb unmounten können.

Sollen in Zukunft weitere Dateisysteme mit Quotas versehen werden, müssen nur noch die Schritte, die in den Abschnitten Erstellen der Dateien quota.user und quota.group, Nachträglich eine Partition einbinden sowie Änderungen wirksam machen beschrieben werden, ausgeführt werden.

5. Setzen der Quota

Diese Operation wird mit dem Programm edquota durchgeführt. Falls man mehr über dieses Programm erfahren möchte, dem sei die Manual Page des Programms ans Herz gelegt.

5.1 Vorbereitung

Zuerst muss mit

der Platzverbrauch der einzelnen Benutzer erfasst werden. Je nach Grösse der Partition(en) und dem belegten Speicherplatz kann dies unterschiedlich lange dauern.

5.2 Benutzerquota setzen

Angenommen, ich habe auf meinem System einen Benutzer mit dem Loginnamen »tom«. Wenn ich seine Quota setzen oder ändern möchte, rufe ich das Programm

auf. Dann lande ich in dem Editor, der in der Variable $EDITOR spezifiziert ist. Normalerweise ist das vi. Das könnte dann zum Beispiel so aussehen:

Hier nun jede Zeile einzeln erklärt:

Hier steht der Name des Benutzers, dessen Quota man gerade bearbeitet.

Hier steht die Partition, auf die sich die Angaben beziehen (in diesem Fall /dev/hda9) und wieviele Blöcke der Benutzer schon benutzt. In den Klammern kann man die Softlimite und die Hardlimite für die Anzahl Blöcke festlegen. Ein Wert von Null bedeutet unbegrenzt.

Diese Zeile bezieht sich auf die gleiche Partition wie die vorhergehende. Hier kann der Systemadministrator ablesen, wieviele Inoden der Benutzer schon gebraucht hat. Eine Inode entspricht einer Datei. In den Klammern kann man hier die Softlimite und die Hardlimite für die Anzahl der Inoden festlegen. Auch hier bedeutet ein Wert von Null unbegrenzt.

Diese beiden Zeilen haben die gleiche Bedeutung wie die beiden anderen, beziehen sich jedoch auf eine andere Partition: in diesem Fall /dev/hda2.

5.3 Gruppenquota setzen

Angenommen, ich möchte die Quota für ein bestimmte Gruppe setzen. Falls ich dies für die Gruppe »users« tun will, rufe ich

auf. Dann erscheint wieder der Editor; das sieht dann zum Beispiel so aus:

Die Optionen sind dieselben wie oben, deshalb werde ich nicht noch einmal daraufeingehen.

5.4 Quota für mehrere Benutzer vergeben

Hier ist eine Lösung, wie man mehreren Benutzer die gleiche Quota wie dem Benutzer »tom« geben kann. Dazu muss man aber die csh als Shell benutzen:

Bei diesem Beispiel wird angenommen, das die UIDs von 500 an aufwärts vergeben worden sind. Falls dies nicht der Fall ist, muss man die Zahl »499« in dem Beispiel anpassen.

5.5 Die Grace Period setzen

Zu guter letzt kann man noch die Grace Period setzen. Dazu ruft man

auf. Dann gelangt man wieder in seinen Lieblingseditor und kriegt folgendes zu sehen:

Hier kann man die Grace Period einstellen. Auch hier muss man sie für jede Partition getrennt setzen. Hinter »block grace period« folgt die Zeitspanne für das Block-Limit, hinter »file grace period« die Zeitspanne für die Inoden-Limite. Mögliche Werte sind Tage (days), Stunden (hours), Minuten (minutes) und Sekunden (seconds). Ein guter Wert ist sieben Tage.

6. Starten und beenden der Quotaüberwachung

6.1 Manuell

Zum Starten und Beenden der Quotaüberwachung werden die Programme quotaon und quotaoff benötigt.

Mit

wird die Quotaüberwachung eingeschaltet, mit

wird sie ausgeschaltet.

6.2 Mit einem Skript

Am besten wäre es, wenn man die Quotaüberwachung schon beim Systemstart einschalten könnte. Dazu kann man sich folgenden Skriptes bedienen:

Das Skript erwartet einen Parameter, nämlich »start« oder »stop«. Mit dem Paramter »start« wird die Quotaüberwachung gestartet, mit dem Parameter »stop« wird sie beendet. Falls man das Skript von Hand starten möchte, kann man es in eine beliebiges Verzeichnis kopieren, und dann

durchführen. /pfad/skriptname muss noch durch den wirklichen Skriptnamen und dessen Pfad ausgetauscht werden. Um es zu starten, wechselt man in das Verzeichnis, in dem sich das Skript befindet und gibt dann ./skriptname ein. Auch hier muss skriptname noch ersetzt werden. Falls man es als Init-Skript benutzen will, muss man das Skript zuerst nach /etc/init.d (bei SuSE-Linux: /sbin/init.d) kopieren. Am besten nennt man es quota. Dann führt man folgende Schritte durch:

Ab jetzt wird die Quotaüberwachung bei jedem Systemstart aktiviert.

7. Verschiedene Kommandos

7.1 Quota

Der Befehl quota ist für die Benutzer gedacht. Damit können Sie sich ihren aktuellen Stand ansehen:

Hier sieht der Benutzer, wieviel Blöcke und Inoden er in Benutzung hat und wie seine Quota gesetzt ist. Sobald er eine seiner Softlimiten überschreitet, wird in der Spalte »grace« die noch nicht abgelaufene Grace Period angezeigt. Ausserdem wird der Wert, den der Benutzer überschritten hat, durch einen Stern markiert:

Hier sieht der Benutzer, dass er sein Inoden-Soft-Limit überschritten hat. Die Grace Period dauert nun noch 15. Leider wird nicht angezeigt, was für eine Einheit die Grace Period hat. Hoffentlich wird dies in zukünftigen Versionen der Quota Software geändert.

7.2 Quotacheck

Das Programm quotacheck wurde vorher schon einmal erwähnt. quotacheck erfasst den Platzverbrauch der einzeln Benutzer und Gruppen auf den Partitionen, auf den Quota eingeschaltet ist und schreibt die Ergebnisse in die Dateien quota.user und quota.group.

7.3 Repquota

repquota erzeugt eine tabellarische Übersicht über die gesetzen Quota und den Platzverbrauch der Benutzer und Gruppen. Die ausführlichste Übersicht erhält man mit

Das führt zu folgender Ausgabe:

TMP