Verwalten von Disk Quota

Wichtung: 3

Beschreibung: Die Kandidaten sollen in der Lage sein, Disk-Quotas für Benutzer zu verwalten.

Wichtigste Wissensgebiete:
Einrichten von Quota für ein Dateisystem.
Bearbeiten, Prüfen und Generieren von Quota Reports.

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:
quota
edquota
repquota
quotaon

Quota - Speicherbeschränkungen

Quota werden dazu genutzt, um Benutzern oder ganzen Benutzergruppen den verfügbaren Speicherplatz zu limitieren, so dass verhindert werden kann, dass Linux-Benutzer nicht die Festplatten vollschreiben können. Somit könnte man beispielsweise die Speicherkapazität von Home-Laufwerken mit Diskquotas einschränken.

Quota auf Benutzer- und Gruppenebene

Auf der einen Seite kann man einzelnen Benutzern die so genannten Benutzerquotas zuweisen, also einem einzelnen Benutzer den verfügbaren Speicherplatz eingrenzen. Auf der anderen Seite ist es aber möglich, einer ganzen Gruppe den Speicherplatz zu limitieren. Hier spricht man dann von Gruppenquotas.

Falls auf einer Partition Quota auf Benutzer- und Gruppenebene zum Einsatz kommen, haben Quota auf Benutzerebene eine höhere Priorität. Es zählen also die Werte, die in den Benutzerquotas zum Einsatz kommen.

Softlimit, Hardlimit, Grace Period

Die Beschränkungen können in zwei unterschiedlichen Art und Weisen eingerichtet werden. Softlimit bedeutet, dass ein Benutzer eine bestimmte Zeit das Limit überschreiten darf. Diese Zeit wird als Grace Period bezeichnet.Sobald ein Benutzer sein Softlimit überschreitet, beginnt die Grace Period zu ticken. Wenn sie ersteinmal heruntergezählt ist, darf der Benutzer keine Daten mehr schreiben bis das Softlimit wieder unterschritten ist.

Beim Hardlimit gibt es keine Toleranz-Zeit. Der Benutzer ist definitiv an das Speichervolumen gebunden.

Voraussetzungen für Diskquotas

Zum einen muss auf dem Linux-System der Kernel Quota unterstützen (Quota support (CONFIG_QUOTA) [n] y). Zum anderen muss auch die Quota-Software installiert sein. Dann ist es möglich, mit dem ersten Schritt zu beginnen und die entsprechenden Partitionen für die Benutzung von Quota zu mounten. Dazu bearbeitet man die Datei /etc/fstab:

/dev/hda2  /usr  ext2  defaults,usrquota  1  1  //Benutzerquota
/dev/hda3 /usr ext2 defaults,grpquota 1 1 //Gruppenquota
/dev/hda4 /usr ext2 defaults,usrquota,grpquota 1 1 //Benutzer- und Gruppenquota

quotacheck - Anlegen der Quotafiles

Zuerst müssen die Konfigurationsdateien angelegt werden, in denen später die Beschränkungen festgelegt werden. Diese Konfigurationsdateien sind quota.user bzw. quota.group und befinden sich immer im Root-Verzeichnise der entsprechenden Dateisystems, das für den Gebrauch von Quota gemountet wurde. Das Programm quotacheck übernimmt das Anlegen der Dateien quota.user bzw. quota.group.

quotacheck -avug

-a = All, Alle Dateisysteme beachten
-u = User, Benutzerquotas einrichten
-g = Group, Gruppenquotas einrichten
-v = Verbose, quotacheck soll sprechen

edquota - Beschränkungen einrichten

Zu diesem Zeitpunkt haben wir den Kernel konfiguriert, die Quota-Software installiert, die Partitionen für Quota gemountet und die Quota-Dateien angelegt. Der nächste Schritt ist das Festlegen der Beschränkungen. Dazu rufen wir das Programm edquota auf:

# edquota -u peter

Quotas for user peter:
/dev/hda9: blocks in use: 8117, limits (soft = 10000, hard = 11000)
inodes in use: 470, limits (soft=0, hard=0)
/dev/hda2: blocks in use: 8966, limits (soft = 200000, hard = 210000)
inodes in use: 365, limits (soft=0, hard=0)

edquota macht nix anderes als einen Editor mit den Quota-Dateien zu öffnen. Diese kann man dann beliebig anpassen. In diesem Beispiel wurde für den Benutzer Peter festgelegt, dass er in seinem Homeverzeichnis 200 Megabyte nutzen darf, auf dem Wurzelverzeichnis aber nur 10 Megabyte. Er hat aber eine Toleranz von 1 bzw 20 MB.

-u = User, Benutzerquotas einrichten
-g = Group, Gruppenquotas einrichten
-t = Grace Period anzeigen
edquota -p peter -u user1 user2 user3 = Benutzerquota kopieren

Die Grace Period setzen

Zu guter letzt kann man noch die Grace Period setzen. Dazu ruft man edquota -t auf und editiert diese im Editor:

Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda2: block grace period: 1 day, file grace period: 0 days
/dev/hda3: block grace period: 5 days, file grace period: 0 days

repquota - Berichte erstellen

Repquota kann dazu benutzt werden den Status der Quoten zu überprüfen. -a = Zeigt alle Dateisysteme an, die in /etc/fstab eingetragen sind.
-v = Zeigt alle Quoten an, selbst wenn der Benutzer keinen Platz auf der Partition beansprucht.
-g = GRUPPE, Zeigt die Quoten für die angegebene Gruppe an.
-u = BENUTZER, Zeigt die Quoten für den angegebenen Benutzer an. Nur der Superuser kann dies für andere Benutzer machen.

Starten und beenden der Quotaüberwachung

quotaon -avug = Quotaüberwachung einschalten
quotaoff -avug = Quotaüberwachung ausschalten

quotaon -u /dev/hda2 = Benutzerquota für /dev/hda2 aktivieren

Optionen:

-a = All, Alle Dateisysteme beachten
-u = User, Benutzerquotas einrichten
-g = Group, Gruppenquotas einrichten
-v = Verbose, soll sprechen