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-, ext4-, 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.35 mit quota_v2-Unterstützung, mindestens base Update 1.8.5 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 documentaion
  2.   Edit configuration
  3.   Show quota status
       
      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.
       
  4.   Start quota services
  5.   Stop quota services
  6.   Show user quotas
  7.   Show group quotas
  8.   Advanced configuration file handling
  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_TARGET_GROUP

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

Gültige Werte: existierende usergroup

Standardeinstellung: QUOTA_FS_x_PROTOTYPE_y_TARGET_GROUP=''

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_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 überschritten!'

QUOTA_WARN_USER_MESSAGE_LINE_N

(N=1-10) Text der Warn-E-Mail für Anwender, auf zehn 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üsse | Ihr Admin'

QUOTA_WARN_GROUP_MESSAGE_LINE_N

(N=1-10) Text der Warn-E-Mail für Gruppen, auf zehn 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üsse | 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önnen Sie einstellen, wann das geschieht.

Gültige Werte: Crontab-Eintrag

Standardeinstellung: QUOTA_CRON_WARN_SCHEDULE='44 4 * * *'

eis 2017-05-03