Linux als SOHO-Server
für Linux- und Windows-Clients |
Kapitel:
|
In vielen Fallen ist es erforderlich, den Speicherbedarf der Festplatte, der von bestimmten Benutzern oder Gruppen belegt werden darf, zu begrenzen. Gerade bei Mehrbenutzersystemen mit vielen Benutzern, welche z.B. als E-Mail-, Web- oder File-Server fungieren, ist es ratsam hierzu Disk-Quotas einzusetzen. Ohne irgendwelche Maßnahmen kann jeder Benutzer, in jedem Verzeichnis auf dem er ein Schreibrecht besitzt, beliebig viel Speicherplatz belegen und so die Systemstabilität gefährden. Disk-Quota ist die Begrenzung des Festplattenspeicherplatzes für einzelne
Benutzer oder Gruppen. Dabei kann die Begrenzung für jeden Benutzer/Gruppe
individuell gesetzt werden. Zu beachten hierbei ist, Disk-Quotas werden vom System für
jede Partition separat überwacht, d.h. falls Benutzer auf mehrere Partitionen
Schreibrechte haben, muss für jede Partition ein einzelnes Quota gesetzen werden. Auch
sollte dieses bei der Partitionierung der Festplatte vorher bedacht werden. Disk-Quota installieren/einrichtenVorraussetzung für die Nutzung von Disk-Quotas ist ein entsprechender Linux-Kernel und ein unterstützendes Dateisystem. Beim Kernel muss die Disk-Quota-Funktion aktiviert sein, im Debian-Standard-Kernel und auch bei den meisten anderen Linux-Distributionen ist dieses meist ohnehin der Fall. Als Dateisysteme die Disk-Quota unterstützen, kommen 'ext2/3', ' XFS' und 'RaiserFS' in Frage, unter Debian-Linux empfiehlt es sich 'ext2' oder 'ext3' zu nutzen. Weiterhin sind unter Debian/GNU die Pakete 'quota' und 'quotatool' mittels 'apt-get install' zu installieren. Das Paket 'quota' beinhaltet die eigentliche Implementierung des Disk-Quota-Systems, und 'quotatools' enthält Tools zum editieren der Quotas von der Kommandozeile aus. Während der Installation ist noch die Frage 'Schicke eine tägliche Erinnerung an Benutzer über Quota' mit '<Ja>' oder '<Nein>' zu beantworten. Nach der Installation kann nun mit der Einrichtung der Quotas erfolgen, dazu sind in der '/etc/fstab' die Partitionen mit den Optionen 'usrquota' bzw. 'grpquota' zu versehen, auf denen Quotas angewendet werden sollen. Hierzu ein Beispiel:
Sinnvoll ist es auf allen Partitionen, auf denen Benutzer schreiben dürfen, Quotas einzuführen. Zur Definition der jeweiligen Quota müssen im Wurzelverzeichnis des jeweiligen Dateisystems (Partition), die Datei 'quota.user' bzw. 'quota.group' existieren. Die Dateien können einfach als Leer-Datei mittels 'touch' angelegt werden. Bezogen auf das Beispiel bedeutet das:
Nach den Anlegen der Dateien als 'root', sollten die Rechte mit 'chmod 600' abgeändert werden:
Danach sind die einzelnen Partition erneut zu Mounten:
Alternativ kann auch ein Neustart des Systems erfolgen. Ob die neu eingeführten Optionen akzeptiert wurden, kann mit dem Komando 'cat /etc/mtab' geprüft werden. Als nächster Schritt ist das Programm 'quotacheck' zu starten. Das Programm erfasst
den Platzverbrauch der einzeln Benutzer und Gruppen auf den einzelnen
Partitionen, auf dem Quotas eingeschaltet sind und schreibt die Ergebnisse in die Dateien
Im Normalfall versucht 'quotacheck' vor dem Scannen der Partitionen diese 'read-only' zu mounten und anschließend wieder 'read-write'. Diese kann jedoch nur gelingen, wenn kein einziger Zugriff mehr auf diese Partition erfolgt und kein User gerade sein aktuelles 'home'-Verzeichnis auf dieser Partition hat. Mit der Option '-m' können die Partitionen auch im 'read-write'-Modus gescannt werden; jedoch sollten die Warnungen hierzu auf der Manualseite beachtet werden. Das Programm 'quotacheck' sollten nach jeder Veränderung der Quotas und nach jedem Neustart laufen. Unter Debian wird 'quotacheck' auch einmal täglich durch den 'cron'-Job ausgeführt. Zum Schluss kann nun mit '/etc/init.d/quota start' oder einem Systemstart die Disk-Quotas aktiviert werden. Arbeiten mit QuotaNachdem das System für den Gebrauch von Disk-Quotas eingerichtet ist, im Folgenden einige Beispiele zum Handling. Setzen/Ändern von QuotasMittels dem Kommando-Tool 'quotatool' können die Quotas für Benutzer oder Gruppen verändert werden:
Alternativ können die Limits auch mit dem Kommando 'edquota' verändert werden. Hierzu ein Beispiel mit dem User 'linux':
Das Kommando 'edquota' startet nach Aufruf den Standard-Editor (meist den 'vi'-Editor) mit den vorhandenen Werten für Quotas in tabellarischer Form. In den einzelnen Spalten sind die Quotas zu finden, in den Zeilen die Partitionen. Die Werte können einfach an den entsprechenden Stellen editiert werden, danach ist die Datei abzuspeichern. Anzeigen von QuotasUm einen Überblick der Quotas aller Benutzer zu gewinnen, kann das Kommando 'repquota' genutzt werden. Hierzu wieder ein Beispiel:
Nach dem Aufruf unter Angabe der Partition, werden alle Benutzer mit ihrem
'Soft-/Hard'-Limits für Blöcke und Dateien ausgegeben. Auch können die zur Zeit
benutzten
Werte in Erfahrung gebracht werden. Das Kommando 'repquota' kennt einige
Optionen, die auf der Manualseite nachgelesen werden können. AnmerkungenSollen die Quota eines Benutzers überschritten werden so kommt es zu einer Meldung, z.B. auf der Konsole beim Überschreiten des Softlimits: 'hda9: warning, user block quota exceeded.' oder beim Überschreiten des Hardlimits 'hda9: write failed, user block limit reached.'. Beim Einsatz von Disk-Quotas sollte Folgendes beachtet werden:
Die Quota-Datenbank gibt es in der Version '1.x' und '2.x'. Bei der Version '1.x' lautet der Name der Datenbank 'quota.user' bzw. 'quota.group', bei der Version '2.x' 'aquota.user' bzw. 'aquota.group'. Das neuere Format 'aquota' hat gegenüber 'quota' folgende Erweiterungen:
Eine Konvertierung vom Format '1.x' nach '2.x' kann mit dem Programm 'convertquota' geschehen. Auf der Kommandozeile kann mit 'quotaon -a' bzw. 'quotaoff -a' die Quota-Überwachung eingeschaltet bzw. ausgeschaltet werden. Weitere Infos
letzte Änderung: 09. März 2009 |
Copyright © 2004 Norbert Eusterholz |