Inhalt

5. Setzen der Quota

Diese Operation wird mit dem Programm edquota durchgeführt. Falls man mehr über dieses Programm erfahren möchte, dem sei die Manual Page des Programms ans Herz gelegt.

5.1 Vorbereitung

Zuerst muss mit

quotacheck -avug

der Platzverbrauch der einzelnen Benutzer erfasst werden. Je nach Grösse der Partition(en) und dem belegten Speicherplatz kann dies unterschiedlich lange dauern.

5.2 Benutzerquota setzen

Angenommen, ich habe auf meinem System einen Benutzer mit dem Loginnamen »tom«. Wenn ich seine Quota setzen oder ändern möchte, rufe ich das Programm

edquota -u tom

auf. Dann lande ich in dem Editor, der in der Variable $EDITOR spezifiziert ist. Normalerweise ist das vi. Das könnte dann zum Beispiel so aussehen:

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

Hier nun jede Zeile einzeln erklärt:

Quotas for user tom:

Hier steht der Name des Benutzers, dessen Quota man gerade bearbeitet.

/dev/hda9: blocks in use: 8117, limits (soft=0, hard=0)

Hier steht die Partition, auf die sich die Angaben beziehen (in diesem Fall /dev/hda9) und wieviele Blöcke der Benutzer schon benutzt. In den Klammern kann man die Softlimite und die Hardlimite für die Anzahl Blöcke festlegen. Ein Wert von Null bedeutet unbegrenzt.

inodes in use: 470, limits (soft=0, hard=0)

Diese Zeile bezieht sich auf die gleiche Partition wie die vorhergehende. Hier kann der Systemadministrator ablesen, wieviele Inoden der Benutzer schon gebraucht hat. Eine Inode entspricht einer Datei. In den Klammern kann man hier die Softlimite und die Hardlimite für die Anzahl der Inoden festlegen. Auch hier bedeutet ein Wert von Null unbegrenzt.

/dev/hda2: blocks in use: 8966, limits (soft=0, hard=0)
        inodes in use: 365, limits (soft=0, hard=0)

Diese beiden Zeilen haben die gleiche Bedeutung wie die beiden anderen, beziehen sich jedoch auf eine andere Partition: in diesem Fall /dev/hda2.

5.3 Gruppenquota setzen

Angenommen, ich möchte die Quota für ein bestimmte Gruppe setzen. Falls ich dies für die Gruppe »users« tun will, rufe ich

edquota -g users

auf. Dann erscheint wieder der Editor; das sieht dann zum Beispiel so aus:

Quotas for group users:
/dev/hda9: blocks in use: 8189, limits (soft=0, hard=0)
        inodes in use: 4452, limits (soft=0, hard=0)
/dev/hda2: blocks in use: 955, limits (soft=0, hard=0)
        inodes in use: 366, limits (soft=0, hard=0)

Die Optionen sind dieselben wie oben, deshalb werde ich nicht noch einmal daraufeingehen.

5.4 Quota für mehrere Benutzer vergeben

Hier ist eine Lösung, wie man mehreren Benutzer die gleiche Quota wie dem Benutzer »tom« geben kann. Dazu muss man aber die csh als Shell benutzen:

edquota -p tom `awk -F: '$3 > 499 {print $1}' /etc/passwd

Bei diesem Beispiel wird angenommen, das die UIDs von 500 an aufwärts vergeben worden sind. Falls dies nicht der Fall ist, muss man die Zahl »499« in dem Beispiel anpassen.

5.5 Die Grace Period setzen

Zu guter letzt kann man noch die Grace Period setzen. Dazu ruft man

edquota -t

auf. Dann gelangt man wieder in seinen Lieblingseditor und kriegt folgendes zu sehen:

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

Hier kann man die Grace Period einstellen. Auch hier muss man sie für jede Partition getrennt setzen. Hinter »block grace period« folgt die Zeitspanne für das Block-Limit, hinter »file grace period« die Zeitspanne für die Inoden-Limite. Mögliche Werte sind Tage (days), Stunden (hours), Minuten (minutes) und Sekunden (seconds). Ein guter Wert ist sieben Tage.


Inhalt