Quota/Konfiguration
Quota/Konfiguration
Beschreibung
Aktivieren Sie Quoten für das gewünschte Dateisystem in /etc/fstab, indem Sie usrquota oder grpquota zu den Mount-Optionen hinzufügen
- Um etwa Benutzerquoten für die Root-Partition zu aktivieren, suchen Sie die Zeile für / und fügen Sie usrquota zu den Optionen hinzu
- Wichtig
- Sie müssen das Dateisystem neu mounten, damit die Änderungen wirksam werden, oder das System neu starten
sudo mount -o remount,usrquota /
Vorbereitungen
- System auf Quota vorbereiten
Kernelkonfiguration
Bei der Kernelkonfiguration muss man auf die Frage mit y antworten
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
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:
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
/partitiongemountet ist - Das man diese Operation als root durchführen muss, muss wohl nicht speziell erwähnt werden
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
Ä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
mountmit 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
fstab einstellen
Im Folgenden wird anhand des oben grafisch dargestellten Beispiels erklärt, wie man nun eine konkrete Einschränkung vornimmt, und werden alternative Einstellmöglichkeiten aufgezeigt
Nach der Installation muss als erstes die Datei /etc/fstab mit Root-Rechten in einem Texteditor geöffnet werden
- Hier müssen nun die Dateisysteme gekennzeichnet werden, auf welchen Orte eingeschränkt werden sollen, damit Quota weiß, was kontrolliert werden soll
Hier eine Passage einer /etc/fstab, in welcher die /home-Partition gemountet wird
Dort liegt der Ordner ./Jan, welcher beispielshalber eingeschränkt wird
# Entry for /dev/sda2 :
UUID=a2798917-95d8-4805-aa4d-d06fa863a67c /home ext3 relatime 0 2
Damit Quota auf ein Dateisystem aufmerksam wird, müssen nun dieser Zeile ein oder zwei Attribute zugefügt werden [2]:
- usrquota - Hiermit können Einschränkungen für einzelne Benutzer eingerichtet werden
- grpquota - Hiermit können Einschränkungen für ganze Gruppen eingerichtet werden
Im Beispiel, wo später der Benutzer "Jan" eine Einschränkung erfahren soll, sieht die Zeile dann folgendermaßen aus:
UUID=a2798917-95d8-4805-aa4d-d06fa863a67c /home ext3 relatime,usrquota 0 2
- Hinweis
- Es ist auch möglich, auf der gleichen Partition Einschränkungen sowohl für Benutzer als auch für Gruppen gleichzeitig zu setzen
- In diesem Fall fügt man einfach beide Attribute, durch Komma getrennt, an
- Nun muss das Dateisystem neu eingehängt werden
- Wurde (wie in diesem Beispiel) das /home-Verzeichnis oder gar das Wurzelverzeichnis selber mit einem Attribut erweitert, funktioniert dies in der Regel nur durch einen Computer-Neustart
- Für das /home-Verzeichnis kann man sich allerdings auch einfach aus allen bestehenden Benutzersitzungen abmelden und dann mit Strg + Alt + F1 in eine Textkonsole wechseln
- Dort meldet man sich nun als root an und führt das Kommando init 1 aus
- Dadurch wird das Betriebssystem vom Mehrbenutzerbetrieb in den Einzelbenutzerbetrieb geschaltet
- Da root seine Partition auf /root und nicht auf /home hat, kann man nun die /home-Partition aushängen und wieder erneut einhängen
- Anschließend wechselt man wieder mit init 3 in den Mehrbenutzermodus, meldet sich aus dem root-Konto ab und wechselt mit Strg + Alt + F7 wieder auf den grafischen Anmeldebildschirm
- Hinweis
- Für diese Prozedur muss für root ein Passwort gesetzt sein
- Automatisches Erstellen der Dateien aquota.user beziehungweise aquota.group
quotacheck
Damit Quota funktionieren kann, müssen Informationen über die Datei-Rechte der einzelnen Benutzer und Gruppen auf der einzuschränkenden Partition gesammelt werden
- Diese Informationen werden in Dateien namens quota.user und / oder quota.group in den jeweiligen Orten gespeichert
Hierfür führt man als Root folgenden Befehl aus
sudo quotacheck OPTIONEN
Optionen
| Option | Beschreibung |
|---|---|
| -a | für all, also für alle zu überwachenden Dateisysteme aus der /etc/fstab |
| -c | für create, also Schreiben der Dateien auf die Festplatte |
| -f | für force, also Erzwingen der Operation |
| -M | try-remount, führt die Operation gegebenenfalls ohne Remount durch |
| -u | für das Erstellen der aquota.user Datei, falls erforderlich |
| -g | für das Erstellen der aquota.group Datei, falls erforderlich |
In diesem Beispiel findet man nun im /home-Verzeichnis eine Datei aquota.user vor, die ja für diesen Nutzer angelegt wurde
Abschließend
Jetzt muss Quota neu gestartet werden:
sudo /etc/init.d/quota restart
Um den Zugriff auf die Quota-Einträge für Benutzer und Gruppen nur dem root-Nutzer zu erlauben, ist Folgendes auszuführen:
sudo chmod 600 /quota.*
Die korrekte Funktionalität kann nun getestet werden
- Folgender Befehl gibt eine Ansicht der Quota-Informationstabelle für Benutzer und Gruppen aus:
sudo repquota /
Hierbei bitte beachten, dass noch keine Quotas gesetzt sind
Einstellungen
Einen User einschränken
Am Beispiel des Benutzers "otto" soll erklärt werden, wie man einen einzelnen Benutzer im Platzverbrauch auf der Festplatte einschränken kann
- Allgemein
sudo edquota -u <benutzername>
- Beispiel
sudo edquota -u otto
öffnet einen Editor, um die Quota für den Benutzer otto und alle Partitionen, für die Quota aktiviert wurde, zu editieren:
Disk quotas for user otto (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/hda2 28 100000 102400 7 0 0
"blocks" zeigt die durch den User otto verwendeten Blöcke (in kB) für diese Partition an; "inodes" zeigt die Anzahl der Dateien an, die dem User otto gehören. Ändern sollte man nur die Werte soft und hard, die das Soft Limit und Hard Limit festlegen
- Eine Gruppe einschränken
sudo edquota -g <gruppenname>
- Beispiel
sudo edquota -g users
Disk quotas for group users (gid 999):
Filesystem blocks soft hard inodes soft hard
/dev/hda3 549 200000 204800 57 0 0
editiert man die Einstellungen für eine Gruppe
Mehrere User einschränken
Möchte man Werte für Quota für alle Benutzer des Systems setzen, so kann man sich eines kleinen Shellskriptes behelfen
- Zuerst setzt man die Quota-Werte bei einem Benutzer, beispielsweise wieder "otto"
Danach führt man in einem Terminal [3]
sudo edquota -p otto `awk -F: '$3 > 1000 {print $1}' /etc/passwd`
aus
Dies überträgt die bei "otto" gesetzten Quota-Einstellungen auf alle lokalen Benutzer (also alle Benutzer mit einer Benutzer-ID, die größer als 1000 ist)
Grace Period setzen
Die Grace Period kann man mittels
sudo edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/hda3 1day 1day
setzen
Hierfür können die Zeiteinheiten sec(onds), min(utes), hour(s), day(s), week(s) und month(s) verwendet werden
Dateien
| Datei | Beschreibung |
|---|---|
| /etc/fstab | Quota beim Systemstart aktivieren |