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.
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.
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
.
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.
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.
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.