Disk Quotas erlauben dem Administrator, den Plattenplatz und/oder die Anzahl der Dateien eines Benutzers oder der Mitglieder einer Gruppe, auf Dateisystemebene zu beschränken. Dadurch wird verhindert, dass ein Benutzer oder eine Gruppe von Benutzern den ganzen verfügbaren Plattenplatz belegt.
Dieser Abschnitt beschreibt die Konfiguration von Disk Quotas für UFS-Dateisysteme. Lesen Sie Abschnitt 19.4.8, „Dataset-, Benutzer- und Gruppenquotas“, wenn Sie Disk Quotas auf einem ZFS-Dateisystem einrichten möchten.
Prüfen Sie zunächst, ob der FreeBSD-Kernel Disk Quotas unterstützt:
%
sysctl kern.features.ufs_quota
kern.features.ufs_quota: 1
In diesem Beispiel zeigt die 1
an, das
Quotas unterstützt werden. Falls 0
ausgegeben wird, fügen Sie folgende Zeile in die
Kernelkonfigurationsdatei ein, und folgen Sie den Anweisungen
in Kapitel 8, Konfiguration des FreeBSD-Kernels um den Kernel zu
aktualisieren:
options QUOTA
Als nächstes aktivieren Sie Disk Quotas in
/etc/rc.conf
:
quota_enable="YES"
Normalerweise wird beim Booten die Integrität der Quotas
auf allen Dateisystemen mit quotacheck(8)
überprüft. Dieses Programm stellt sicher, dass die
Quota-Datenbank mit den Daten auf einem Dateisystem
übereinstimmt. Dies ist allerdings ein zeitraubender Prozess,
der die Zeit, die das System zum Booten braucht, signifikant
beeinflusst. Eine Variable in
/etc/rc.config
erlaubt es, diesen Schritt
zu überspringen:
check_quotas="NO"
Zuletzt muss noch /etc/fstab
bearbeitet werden, um die Plattenquotas auf Dateisystemebene
zu aktivieren. Um Quotas pro Benutzer für ein Dateisystem zu
aktivieren, geben Sie für dieses Dateisystem
userquota
im Feld Optionen von
/etc/fstab
an. Zum Beispiel:
/dev/da1s2g /home ufs rw,userquota 1 2
Um Quotas für Gruppen einzurichten, verwenden
Sie groupquota
. Um Quotas für Benutzer
und Gruppen einzurichten, trennen Sie die Optionen durch
Kommata:
/dev/da1s2g /home ufs rw,userquota,groupquota 1 2
Quota-Dateien werden standardmäßig im Rootverzeichnis
des Dateisystems unter quota.user
und
quota.group
abgelegt. Weitere
Informationen finden Sie in fstab(5). Es wird nicht
empfohlen, Quota-Dateien an anderen Stellen zu
speichern.
Sobald die Konfiguration abgeschlossen ist, starten Sie
das System neu.
/etc/rc
wird dann automatisch die
richtigen Kommandos aufrufen, um die Quota-Dateien für
alle in /etc/rc.conf
definierten Quotas
anzulegen.
Normalerweise brauchen die Kommandos quotacheck(8), quotaon(8) oder quotaoff(8) nicht von Hand aufgerufen werden, obwohl man die entsprechenden Seiten im Manual lesen sollte, um sich mit ihnen vertraut zu machen.
Stellen Sie sicher, dass Quotas auch tatsächlich aktiviert sind:
#
quota -v
Für jedes Dateisystem, auf dem Quotas aktiviert sind, sollte eine Zeile mit der Plattenauslastung und den aktuellen Quota-Limits zu sehen sein.
Mit edquota
können nun
Quota-Limits zugewiesen werden.
Mehrere Möglichkeiten stehen zur Verfügung, um Limits für den Plattenplatz, den ein Benutzer oder eine Gruppe verbrauchen kann, oder die Anzahl der Dateien, die angelegt werden dürfen, festzulegen. Die Limits können auf dem Plattenplatz (Block-Quotas), der Anzahl der Dateien (Inode-Quotas) oder einer Kombination von beiden basieren. Jedes Limit wird weiterhin in zwei Kategorien geteilt: Hardlimits und Softlimits.
Ein Hardlimit kann nicht überschritten werden. Hat der Benutzer einmal ein Hardlimit erreicht, so kann er auf dem betreffenden Dateisystem keinen weiteren Platz mehr beanspruchen. Hat ein Benutzer beispielsweise ein Hardlimit von 500 Kilobytes auf einem Dateisystem und benutzt davon 490 Kilobyte, so kann er nur noch 10 weitere Kilobytes beanspruchen. Der Versuch, weitere 11 Kilobytes zu beanspruchen, wird fehlschlagen.
Softlimits können für eine befristete Zeit überschritten werden. Diese Frist beträgt in der Grundeinstellung eine Woche. Hat der Benutzer das Softlimit über die Frist hinaus überschritten, so wird das Softlimit in ein Hardlimit umgewandelt und der Benutzer kann keinen weiteren Platz mehr beanspruchen. Wenn er einmal das Softlimit unterschreitet, wird die Frist wieder zurückgesetzt.
Im folgenden Beispiel wird das Quota des Benutzerkonto
test
bearbeitet.
Wenn edquota
aufgerufen wird,
wird der in EDITOR
definierte Editor
aufgerufen, um die Quota-Limts zu konfigurieren. Der
Standard-Editor ist vi.
#
edquota -u test
Quotas for user test: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: kbytes in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60)
Für jedes Dateisystem, auf dem Quotas aktiv sind,
sind zwei Zeilen zu sehen. Eine repräsentiert die
Block-Quotas und die andere die Inode-Quotas. Um ein Limit zu
modifizieren, ändern Sie einfach den angezeigten Wert. Um
beispielsweise das Blocklimit von /usr
auf ein Softlimit von 500
und ein Hardlimit
von 600
zu erhöhen, ändern Sie die Zeile
wie folgt:
/usr: kbytes in use: 65, limits (soft = 500, hard = 600)
Die neuen Limits sind wirksam, sobald der Editor verlassen wird.
Manchmal ist es wünschenswert, die Limits für eine Reihe
von Benutzern zu setzen. Dazu weisen Sie zunächst einem
Benutzer das gewünschte Quota-Limit zu. Anschließend benutzen
Sie -p
, um das Quota auf einen bestimmten
Bereich von Benutzer-IDs (UID) zu
duplizieren. Der folgende Befehl dupliziert die Quota-Limits
auf die UIDs 10000
bis
19999
:
#
edquota -p test 10000-19999
Weitere Informationen finden Sie in edquota(8).
Um die Limits oder die Plattennutzung individueller Benutzer und Gruppen zu überprüfen, kann quota(1) benutzt werden. Ein Benutzer kann nur die eigenen Quotas und die Quotas der Gruppe, der er angehört untersuchen. Nur der Superuser darf sich alle Limits ansehen. Mit repquota(8) erhalten Sie eine Zusammenfassung von allen Limits und der Plattenausnutzung für alle Dateisysteme, auf denen Quotas aktiv sind.
In der Ausgabe von quota(1) werden Dateisysteme, auf
denen ein Benutzer keinen Platz verbraucht, nicht angezeigt,
auch wenn diesem Quotas zugewiesen wurden. Benutzen Sie
-v
um solche Dateisysteme ebenfalls
anzuzeigen. Das folgende Beispiel zeigt die Ausgabe von
quota -v
für einen Benutzer, der
Quota-Limits auf zwei Dateisystemen besitzt:
Disk quotas for user test (uid 1002): Filesystem usage quota limit grace files quota limit grace /usr 65* 50 75 5days 7 50 60 /usr/var 0 50 75 0 50 60
Im Dateisystem /usr
liegt der
Benutzer momentan 15 Kilobytes über dem Softlimit von 50
Kilobytes und hat noch 5 Tage seiner Frist übrig. Der Stern
*
zeigt an, dass der Benutzer sein Limit
überschritten hat.
Quotas werden von dem Quota-Subsystem auf dem
NFS-Server erzwungen. Der
rpc.rquotad(8) Daemon stellt quota
die
Quota Informationen auf dem NFS-Client
zur Verfügung, so dass Benutzer auf diesen Systemen ihre
Quotas abfragen können.
Sie aktivieren rpc.rquotad
auf dem
NFS-Server, indem Sie das Zeichen
#
auf folgender Zeile in
/etc/inetd.conf
entfernen:
rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
Anschließend starten Sie inetd
neu:
#
service inetd restart
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.