Unterabschnitte

Das Quota-Paket

Die Einleitung

Mit den hier beschriebenen Quota-Werkzeugen ist es möglich, Benutzern auf dem Server eine Platz- und/oder Dateianzahlbeschränkung aufzuerlegen. Diese Beschränkung kann immer nur für ein Dateisystem gelten. Dies bedeutet bei einer Standardinstallation von eisfair, dass in aller Regel eine quota für / einzurichten ist. Wenn eine separate Partition für /home eingerichtet wurde, kann natürlich auch dafür eine Quota eingerichtet werdenn. Sie können für ext2-, ext3- und auch für XFS-Dateisysteme Quotas festlegen.

Sollte ein Anwender sein Softlimit überschreiten, wird er per E-Mail darüber informiert. Er hat dann eine bestimmte Zeitspanne (auch 'Gracetime' genannt), Gelegenheit, das Softlimit wieder zu unterschreiten. Läuft diese Zeit ab, ohne dass das Softlimit unterschritten wird, kann der Anwender nicht mehr auf das mit einer Quota versehene Dateisystem schreiben. Ein lesender Zugriff und das Löschen von Dateien ist natürlich jederzeit möglich.

Wenn der Anwender sofort auch das Hardlimit überschreitet, gelten die oben genannten Bedingungen wie nach Ablauf der Gracetime.

Hinweis
Systemuser können nicht mit einer Quota belegt werden.


Die Voraussetzungen

Dieses Paket benötigt mindestens Kernel 2.4.26 mit quota_v2-Unterstützung, mindestens base Update 1.1.2 sowie eine beliebige Version eines Mail-Paketes, um eventuelle Nachrichten an die Anwender schicken zu können.

Die Installation

Das Quota-Paket wird über das Setup-Menü installiert. Wird eine ältere Paketversion vorgefunden, so wird deren Konfiguration gesichert und das alte Paket deinstalliert, bevor die neuen Programmdateien installiert und die Konfiguration übernommen wird. Danach wird der Konfigurations-Editor gestartet um die Konfiguration anzupassen.

Das Menü im Setup-Programm

Das Menü im Setup-Programm ist wie folgt aufgebaut:

1.
View documentation: zeigt diese Dokumentation an
2.
Configuration: öffnet den Konfigurationseditor
3.
Advanced configuration file handling
4.
Show quota status: Zeigt an, ob und auf welchen Filesystemen Quota-Services laufen.

Achtung! Auf XFS-Filesystemen lassen sich die Quotas systembedingt nicht ohne Neustart abschalten (Genaugenommen lassen sie sich zwar abschalten, aber auf Grund eines Fehlers lassen sie sich dann nicht ohne Neustart wieder anschalten). Daher wird auch bei vorherigem Ausführen von 'Stop quota services' angezeigt, dass die Quotas auf dem betreffenden XFS-Filesystem noch aktiv seien. Das ist zwar formal richtig, aber das Quota-Paket setzt auf diesen XFS-Filesystemen alle Quotas auf 0 zurück, was einer Abschaltung der Quotas gleichkommt.

5.
Start quota services: Startet die Quota-Services
6.
Stop quota services: Beendet die Quota-Services
7.
Show user quotas: zeigt eine Übersicht aller aktiven Anwender-Quotas auf allen Filesystemen
8.
Show group quotas: zeigt eine Übersicht aller aktiven Group-Quotas auf allen Filesystemen
0.
Exit

Die Konfigurationsdatei

In der Konfigurationsdatei, die über das Menü zugänglich ist, sind folgende Parameter vorhanden; wer sie von Hand editieren will findet sie unter /etc/config.d/quota.

START_QUOTA
Aktiviert die Quota-Services.

Gültige Werte: yes, no

Standardeinstellung: START_QUOTA='yes'

QUOTA_FS_N
Anzahl der Dateisysteme, für die Quota eingerichtet werden soll.

Gültige Werte: Zahl

Standardeinstellung: QUOTA_FS_N='0'

QUOTA_FS_x
Das Dateisystem, für welche Quota eingerichtet werden soll.

Gültige Werte: Mountpoint (Absoluter Pfad)

Standardeinstellung: QUOTA_FS_x='/'

QUOTA_FS_x_ACTIVE
Soll Quota für dieses Dateisystem aktiviert werden?

Gültige Werte: yes, no

Standardeinstellung: QUOTA_FS_x_ACTIVE='yes'

QUOTA_FS_x_PROTOTYPE_N
Die Definition eines oder mehrerer Prototypen dient der schnellen Konfiguration von identischen Anwender-Quotas auf der Basis eines Prototypen, sozusagen durch Klonen von Quotas.

Anzahl der Prototypen, die als (temporäre) Vorlage für die Zuweisung einer bestimmten Quota zu Gruppen benutzt werden sollen. Die Einstellungen für diesen Prototypen werden auf alle Mitglieder der Zielgruppe angewendet, die in der Variable

QUOTA_FS_x_PROTOTYPE_y_TARGET_GROUP

definiert ist. Sie gelten ausschliesslich für das Dateisystem FS_x.

Achtung: Anwender, die Mitglied der Zielgruppe sind, jedoch eine abweichende Quota erhalten sollen, müssen im Parameter QUOTA_FS_x_PROTOTYPE_y_EXCEPT_OF aufgeführt und dann über die userspezifischen Parameter QUOTA_FS_x_USER_* (siehe unten) konfiguriert werden!

Gültige Werte: Zahl

Standardeinstellung: QUOTA_FS_x_PROTOTYPE_N='0'

QUOTA_FS_x_PROTOTYPE_y_ACTIVE
Soll Quota für diesen Prototypen aktiviert werden?

Gültige Werte: yes, no

Standardeinstellung: QUOTA_FS_x_PROTOTYPE_y_ACTIVE='yes'

QUOTA_FS_x_PROTOTYPE_y_SOFTLIMIT_SPACE
Hier gibt man die weiche Grenze des Platzverbrauches (softlimit) an, die dem späteren Anwender zugewiesen wird. Der Wert 0 bedeutet, dass der Anwender keinem Softlimit unterliegt. 'Weich' bedeutet, dass der Anwender dieses Limit bis zu einem grösseren Wert (dem Hardlimit) überschreiten darf. Hier ist die gewünschte Größe in den Einheiten K (=Kilobyte), M (=Megabyte), G (=Gigabyte) oder T (Terabyte) anzugeben.
ACHTUNG
Es können keine Dezimalzahlen verwendet werden!


Gültige Werte: Ganzzahl + Einheit (z.B. 100K, 10M, 2G oder 1T)

Standardeinstellung: QUOTA_FS_x_PROTOTYPE_y_SOFTLIMIT_SPACE='0'

QUOTA_FS_x_PROTOTYPE_y_HARDLIMIT_SPACE
Hier gibt man die harte Grenze des Platzverbrauches (hardlimit) an, die dem späteren Anwender zugewiesen wird. Der Wert 0 bedeutet, dass der Anwender keinem Hardlimit unterliegt. Dieses Hardlimit kann nicht überschritten werden. Hier ist die gewünschte Größe in den Einheiten K (=Kilobyte), M (=Megabyte), G (=Gigabyte) oder T (Terabyte) anzugeben. Es können keine Dezimalzahlen verwendet werden!

Gültige Werte: Ganzzahl + Einheit (z.B. 100K, 10M, 2G oder 1T)

Standardeinstellung: QUOTA_FS_x_PROTOTYPE_y_HARDLIMIT_SPACE='0'

QUOTA_FS_x_PROTOTYPE_y_SOFTLIMIT_FILES
Hier kann man ein Softlimit von Dateien (genauer: Inodes) angeben, die der spätere Anwender auf dem Dateisystem haben darf.

Gültige Werte: Zahl

Standardeinstellung: QUOTA_FS_x_PROTOTYPE_y_SOFTLIMIT_FILES='0'

QUOTA_FS_x_PROTOTYPE_y_HARDLIMIT_FILES
Hier kann man ein Hardlimit von Dateien angeben, die der spätere Anwender auf dem Dateisystem haben darf. Dieses Limit kann nicht überschritten werden.

Gültige Werte: Zahl

Standardeinstellung: QUOTA_FS_x_PROTOTYPE_y_HARDLIMIT_FILES='0'

QUOTA_FS_x_PROTOTYPE_y_TARGET_GROUP
Hier gibt man eine existierende Gruppe an, auf deren Mitglieder die obigen Einstellungen angewendet werden sollen.

Gültige Werte: existierende usergroup

Standardeinstellung: QUOTA_FS_x_PROTOTYPE_y_TARGET_GROUP=''

QUOTA_FS_x_PROTOTYPE_y_EXCEPT_OF
Da möglicherweise eine gewisse Anzahl von Anwendern der Zielgruppe von der uniformen Prototyp-Einstellung ausgenommen werden soll, kann man hier eine Liste von Anwendern angeben, für die diese Einstellungen nicht gelten sollen.

Bsp: QUOTA_FS_1_PROTOTYPE_1_EXCEPT_OF='barney fred'

Gültige Werte: space-separierte Anwender-Liste

Standardeinstellung: QUOTA_FS_x_PROTOTYPE_y_EXCEPT_OF=''

QUOTA_FS_x_USER_SPACE_GRACETIME
Die sogenannte 'Gracetime' ist die Zeit, innerhalb derer der Anwender nach Überschreitung des Softlimits Gelegenheit hat, das Softlimit wieder zu unterschreiten. Läuft die Gracetime ab, ohne dass der Anwender das Softlimit unterschreitet, kann der Anwender nichts mehr auf das Dateisystem schreiben. Es gibt zwei Arten von Gracetimes:

Die Gracetime gilt für Überschreitungen des zugestandenen Plattenplatzes auf dem jeweiligen Dateisystem. Diese Zeitspanne gilt für alle Anwender, die das Dateisystem benutzen gleichermaßen. Eine Anwender-spezfische Gracetime gibt es nicht.

Die Voreinstellung 'default' setzt die Gracetime auf 7 Tage.

Gültige Werte: Zahl (Tage)

Standardeinstellung: QUOTA_FS_x_USER_SPACE_GRACETIME='default'

QUOTA_FS_x_USER_FILES_GRACETIME
Diese Gracetime gilt für Überschreitungen der zugestandenen Zahl an Dateien auf dem jeweiligen Dateisystem. Diese Zeitspanne gilt für alle Anwender, die das Dateisystem benutzen gleichermarßen. Eine Anwender-spezfische Gracetime gibt es nicht.

Die Voreinstellung 'default' setzt die Gracetime auf 7 Tage.

Gültige Werte: Zahl (Tage)

Standardeinstellung: QUOTA_FS_x_USER_FILES_GRACETIME='default'

QUOTA_FS_x_USER_N
Anzahl von userspezifischen Quotas

Gültige Werte: Zahl

Standardeinstellung: QUOTA_FS_x_USER_N='0'

QUOTA_FS_x_USER_y_NAME
Der Anwender y, für den eine Quota auf dem Dateisystem x eingerichtet werden soll. Es ist nicht möglich, Systemuser mit einer Quota zu belegen.

Gültige Werte: username

Standardeinstellung: QUOTA_FS_x_USER_y_NAME=''

QUOTA_FS_x_USER_y_ACTIVE
Soll Quota für diesen Anwender aktiviert werden?

Gültige Werte: yes, no

Standardeinstellung: QUOTA_FS_x_USER_y_ACTIVE='no'

QUOTA_FS_x_USER_y_SOFTLIMIT_SPACE
Hier gibt man die weiche Grenze des Platzverbrauches (softlimit) an, die dem Anwender zugewiesen werden. Der Wert 0 bedeutet, dass der Anwender keinem Softlimit unterliegt. 'Weich' bedeutet, dass der Anwender dieses Limit bis zu einem grösseren Wert (dem Hardlimit) überschreiten darf. Hier ist die gewünschte Größe in den Einheiten K (=Kilobyte), M (=Megabyte), G (=Gigabyte) oder T (Terabyte) anzugeben. Es können keine Dezimalzahlen verwendet werden! Es können keine Werte grösser als 231-1 blocks verwendet werden, das entspricht 2047 Gb oder 2TB.

Gültige Werte: Ganzzahl + Einheit (z.B. 100K, 10M, 2G oder 1T)

Standardeinstellung: QUOTA_FS_x_USER_y_SOFTLIMIT_SPACE='0'

QUOTA_FS_x_USER_y_HARDLIMIT_SPACE
Hier gibt man die harte Grenze des Platzverbrauches (hardlimit) an, die dem Anwender zugewiesen werden. Der Wert 0 bedeutet, dass der Anwender keinem Hardlimit unterliegt. Dieses Hardlimit kann nicht überschritten werden. Hier ist die gewünschte Größe in den Einheiten K (=Kilobyte), M (=Megabyte), G (=Gigabyte) oder T (Terabyte) anzugeben. Es können keine Dezimalzahlen verwendet werden!

Gültige Werte: Ganzzahl + Einheit (z.B. 100K, 10M, 2G oder 1T)

Standardeinstellung: QUOTA_FS_x_USER_y_HARDLIMIT_SPACE='0'

QUOTA_FS_x_USER_y_SOFTLIMIT_FILES
Hier kann man ein Softlimit von Dateien angeben, die der Anwender auf dem Dateisystem haben darf.

Gültige Werte: Zahl

Standardeinstellung: QUOTA_FS_x_USER_y_SOFTLIMIT_FILES=''

QUOTA_FS_x_USER_y_HARDLIMIT_FILES
Hier kann man ein Hardlimit von Dateien angeben, die der Anwender auf dem Dateisystem haben darf. Dieses Limit kann nicht überschritten werden.

Gültige Werte: Zahl

Standardeinstellung: QUOTA_FS_x_USER_y_HARDLIMIT_FILES=''

QUOTA_FS_x_GROUP_SPACE_GRACETIME
Diese Gracetime gilt für Überschreitungen des zugestandenen Plattenplatzes auf dem jeweiligen Dateisystem. Diese Zeitspanne gilt für alle Gruppen, die das Dateisystem benutzen gleichermaßen. Eine gruppenspezfische Gracetime gibt es nicht. Alle Anwender dieser Gruppe können ausgewählt werden, dafür zu sorgen, ein überschrittenes Limit zu unterschreiten.

Die Voreinstellung 'default' setzt die Gracetime auf 7 Tage.

Gültige Werte: Zahl (Tage)

Standardeinstellung: QUOTA_FS_x_GROUP_SPACE_GRACETIME='default'

QUOTA_FS_x_GROUP_FILES_GRACETIME
Diese Gracetime gilt für Überschreitungen der zugestandenen Zahl an Dateien auf dem jeweiligen Dateisystem. Diese Zeitspanne gilt für alle Gruppen, die das Dateisystem benutzen gleichermaßen. Eine gruppenspezfische Gracetime gibt es nicht. Alle Anwender dieser Gruppe können ausgewählt werden, dafür zu sorgen, ein überschrittenes Limit zu unterschreiten.

Die Voreinstellung 'default' setzt die Gracetime auf 7 Tage.

Gültige Werte: 'default' oder Zahl (Tage)

Standardeinstellung: QUOTA_FS_x_GROUP_FILES_GRACETIME='default'

QUOTA_FS_x_GROUP_N
Anzahl von gruppenspezifischen Quotas.

Gültige Werte: Zahl

Standardeinstellung: QUOTA_FS_x_GROUP_N='0'

QUOTA_FS_x_GROUP_y_NAME
Die Gruppe y auf dem Dateisystem x, für die eine Quota eingerichtet werden soll.

Gültige Werte: username

Standardeinstellung: QUOTA_FS_x_GROUP_y_NAME=''

QUOTA_FS_x_GROUP_y_ACTIVE
Soll Quota für diese Gruppe aktiviert werden?

Gültige Werte: yes, no

Standardeinstellung: QUOTA_FS_x_GROUP_y_ACTIVE='no'

QUOTA_FS_x_GROUP_y_SOFTLIMIT_SPACE
Hier gibt man die weiche Grenze des Platzverbrauches (softlimit) an, die der Gruppe zugewiesen werden. Der Wert 0 bedeutet, dass die Gruppe keinem Softlimit unterliegt. 'Weich' bedeutet, dass der Anwender dieses Limit bis zu einem grösseren Wert (dem Hardlimit) überschreiten darf. Hier ist die gewünschte Größe in den Einheiten K (=Kilobyte), M (=Megabyte), G (=Gigabyte) oder T (Terabyte) anzugeben. Es können keine Dezimalzahlen verwendet werden!

Gültige Werte: Ganzzahl + Einheit (z.B. 100K, 10M, 2G oder 1T)

Standardeinstellung: QUOTA_FS_x_GROUP_y_SOFTLIMIT_SPACE='0'

QUOTA_FS_x_GROUP_y_HARDLIMIT_SPACE
Hier gibt man die harte Grenze des Platzverbrauches (hardlimit) an, die der Gruppe zugewiesen werden. Der Wert 0 bedeutet, dass die Gruppe keinem Hardlimit unterliegt. Dieses Hardlimit kann nicht überschritten werden. Hier ist die gewünschte Größe in den Einheiten K (=Kilobyte), M (=Megabyte), G (=Gigabyte) oder T (Terabyte) anzugeben. Es können keine Dezimalzahlen verwendet werden!

Gültige Werte: Ganzzahl + Einheit (z.B. 100K, 10M, 2G oder 1T)

Standardeinstellung: QUOTA_FS_x_GROUP_y_HARDLIMIT_SPACE='0'

QUOTA_FS_x_GROUP_y_SOFTLIMIT_FILES
Hier kann man ein Softlimit von Dateien angeben, die die Gruppe auf dem Dateisystem haben darf.

Gültige Werte: Zahl

Standardeinstellung: QUOTA_FS_x_GROUP_y_SOFTLIMIT_FILES=''

QUOTA_FS_x_GROUP_y_HARDLIMIT_FILES
Hier kann man ein Hardlimit von Dateien angeben, die die Gruppe auf dem Dateisystem haben darf.

Gültige Werte: Zahl

Standardeinstellung: QUOTA_FS_x_GROUP_y_SOFTLIMIT_FILES=''

QUOTA_WARN_MAIL_CMD
Das Programm, das die Warn-E-Mails verschicken soll.

Gültige Werte: Pfad

Standardeinstellung: QUOTA_WARN_MAIL_CMD='/usr/sbin/sendmail -t'

QUOTA_WARN_FROM
Die From-Adresse, die in der Warn-E-Mail erscheinen soll.

Gültige Werte: E-Mail-Adresse

Standardeinstellung: QUOTA_WARN_FROM='root@local.lan'

QUOTA_WARN_CC_TO
An wen soll eine Kopie gehen?

Gültige Werte: E-Mail-Adresse

Standardeinstellung: QUOTA_WARN_CC_TO='root@local.lan'

QUOTA_WARN_CC_BEFORE
Wenn diese Variable einen anderen Wert als 'no' besitzt, wird QUOTA_WARN_CC_TO nur dann benutzt, wenn der Anwender die Gracetime bis auf diesen Restzeitraum verstreichen liess.

Bsp: Die Gracetime beträgt 7 Tage, QUOTA_WARN_CC_BEFORE ist mit '2 days' konfiguriert. Der in QUOTA_WARN_CC_TO angegebene Empfänger wird erst zwei Tage vor Ablauf der Gracetime informiert, sprich fünf Tage später als der Anwender selbst.

Gültige Werte: 'no' und Zeiträume (5 seconds, 1 minute, 2 hours, 5 days)

Standardeinstellung: QUOTA_WARN_CC_BEFORE='no'

QUOTA_WARN_SUPPORT
Support E-Mail-Adresse (z.B. für eventuelle Anwendernachfragen)

Gültige Werte: E-Mail-Adresse

Standardeinstellung: QUOTA_WARN_SUPPORT='root@local.lan'

QUOTA_WARN_PHONE
Support Telefonnummer

Gültige Werte: beliebig

Standardeinstellung: QUOTA_WARN_PHONE='(0123) 456789'

QUOTA_WARN_ORIGINAL_MESSAGE
Schaltet den englischsprachigen Originaltext der Warn-E-Mail ein.

Gültige Werte: yes, no

Standardeinstellung: QUOTA_WARN_ORIGINAL_MESSAGE='no'

QUOTA_WARN_SUBJECT
Definiert, was im Betreff der Warn-E-Mail erscheint.

Gültige Werte: beliebig

Standardeinstellung:

QUOTA_WARN_SUBJECT='Sie haben Ihre Quota "uberschritten!'

QUOTA_WARN_USER_MESSAGE_LINE_N
(N=1-4) Text der Warn-E-Mail für Anwender, auf vier Zeilen verteilt.

| dient als Zeilentrenner.

Gültige Werte: beliebig

Standardeinstellung: siehe /etc/default.d/quota

QUOTA_WARN_USER_SIGNATURE
Unterschrift unter der Warn-E-Mail an Anwender.

Gültige Werte: beliebig

Standardeinstellung:

QUOTA_WARN_USER_SIGNATURE='Beste Gr"usse | Ihr Admin'

QUOTA_WARN_GROUP_MESSAGE_LINE_N
Text der Warn-E-Mail für Gruppen, auf 5 Zeilen veteilt.

Gültige Werte: beliebig

Standardeinstellung: siehe /etc/default.d/quota

QUOTA_WARN_GROUP_SIGNATURE
Unterschrift unter der Warn-E-Mail an Gruppen.

Gültige Werte: beliebig

Standardeinstellung:

QUOTA_WARN_USER_SIGNATURE='Beste Gr"usse | Ihr Admin'

QUOTA_WARN_MAIL_DEV
Wenn das Quota-Paket auf einem Mail-Server benutzt wird und Sie wollen keine Bounces erhalten, weil der betreffende Anwender keinen Platz mehr zur Verfügung hat und demzufolge seine Warn-E-Mail nicht erhalten kann, können Sie diesen Parameter auf den Wert any setzen. Dies wird die Warn-E-Mail an den Anwender unterdrücken, egal auf welchem Device er die Quota überschritten hat.

Setzen Sie stattdessen einen Device-Namen ein (z.B. /dev/hdb1), dann wird die Warn-E-Mail an den Anwender nur unterdrückt, wenn er auf diesem Device seine Quota überschritten hat. Für alle anderen Devices wird er seine Warn-E-Mail erhalten.

Setzen Sie diesen Parameter auf 'no', um ihn ganz abzuschalten.

Gültige Werte: no, any, Devices

Standardeinstellung: QUOTA_WARN_MAIL_DEV='no'

QUOTA_TAB_N
In der Datei /etc/quotatab kann eine Beschreibung von Dateisystemen abgelegt werden. Diese Beschreibung erscheint dann zusätzlich zum Mountpoint bzw. Device-Namen in der Warnmail. Hier gibt man an, wie viele dieser Beschreibungen man anlegen möchte.

Gültige Werte: Zahl

Standardeinstellung: QUOTA_TAB_N='1'

QUOTA_TAB_x
Jeder Eintrag erzeugt eine Zeile in der /etc/quotatab. Es wird das Dateisystem angegeben und nach einem Doppelpunkt die gewünschte Beschreibung des Dateisystems.

Bsp:

QUOTA_TAB_1='/home: Ihr Home-Verzeichnis'
QUOTA_TAB_2='/public: Oeffentliches Verzeichnis'

Gültige Werte: <Device-Name oder Mountpoint>: <Beschreibung>

Standardeinstellung: siehe Bsp. + /etc/default.d/quota

QUOTA_GROUP_ADMIN_N
Die Datei /etc/quotagrpadmins dient der Bestimmung von Gruppenadministratoren, welche dann eine Warn-E-Mail erhalten, wenn von der Gruppe die Quota überschritten wird.

Gültige Werte: Zahl

Standardeinstellung: QUOTA_GROUP_ADMIN_N='0'

QUOTA_GROUP_ADMIN_x
Auch hier wird durch Doppelpunkt getrennt, in der ersten Spalte erscheint der Gruppenname, in der zweiten der Anwendername des verantwortlichen Gruppenadmins

Bsp:

QUOTA_GROUP_ADMIN_1='users: root'
QUOTA_GROUP_ADMIN_2='projekt1: projekt1leader'

Gültige Werte: <Gruppe>: <Username Gruppenadmin>

Standardeinstellung: siehe Bsp.

QUOTA_CRON_WARN_SCHEDULE
Dabei wird das Programm warnquota gestartet, was die Quotas überprüft und bei Überschreitung eine Mail an den Anwender bzw. den Gruppenadmin schickt. Hier könne Sie einstellen, wann das geschieht.

Gültige Werte: Crontab-Eintrag

Standardeinstellung: QUOTA_CRON_WARN_SCHEDULE='44 4 * * *'

Yves Schumann 2011-11-27