Quotas sind Beschränkungen für die Dateisystem Nutzung auf User oder Gruppenebene. Quotas werden pro Partition festgelegt. Es können alle in der /etc/fstab eingetragenen Dateisysteme eingeschränkt werden, sofern sie beschreibbar und in einem Linux-Dateisystem vorliegen. Die Beschränkung kann sich auf den Festplattenspeicherplatz oder auf die Anzahl der Daten, die angelegt werden dürfen, beziehen.
Damit Quotas verwendet werden können, werden usrquota und/ oder grpquota durch ein Komma getrennt in die Datei /etc/fstab eingetragen und mit dem Befehl mount -o remount,rw /devx wird die Datei neu eingelesen, wobei (/devx) für die jeweilige Partition steht.
Beispiel /etc/fstab:
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/hda1 / ext3 errors=remount-ro,usrquota,grpquota 0 1 /dev/hda5 none swap sw 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Die Quota Dateien werden getrennt nach Benutzer (aquota.user) und Gruppen Quotas (aquota.group) im Hauptverzeichnis des einzuschränkenden Dateisystems eingerichtet. Diese Dateien sollten die Berechtigung 600 haben. Durch quotacheck wird die aktuelle Belegung ermittelt.
[root@localhost ~]# quotacheck -avugm
Optionen:
Mit quotacheck -avugm entstehen in der eingeschränkten Partitionen die Dateien aquota.user bzw. aquota.group. Vorhandene Quota Dateien werden aktualisiert.
[root@localhost /]# ls -l insgesamt 142 -rw------- 1 root root 7168 14. Okt 18:25 aquota.user ...
Manchmal müssen die Dateien manuell im Hauptverzeichnis des eingeschränkten Dateisystems erstellt und die Berechtigungen auf 600 eingestellt werden. Meistens werden die Dateien von quotacheck automatisch erstellt.
[root@localhost /]# touch aquota.user
Für User Quota.
[root@localhost /]# touch aquota.group
Für Group Quota.
[root@localhost /]# chmod 600 aquota*
Um nur die aquota.user Datei im Verzeichnis /public zu aktualisieren, gibt man folgenden Befehl ein. Dies kann auch mit der Option [g] auf Group Quotas angewendet werden.
[root@localhost /]# quotacheck -vu /public
Nutzungslimits für Nutzer und Gruppen einrichten.
Beschränkung der Festplattennutzung auf Nutzer und Gruppenebene bearbeiten.
Syntax:
Optionen:
Beispiele:
[root@localhost /]# edquota -f / -u michel
Disk quotas for user michel (uid 500): Filesystem blocks soft hard inodes soft hard /dev/hda2 28 61440 81920 7 0 0
Die Spalte blocks zeigt die vom Nutzer michel verwendeten Blöcke in Kilo Byte für diese Partition an. Die Spalte inodes zeigt die Anzahl der Dateien an, die dem Nutzer michel gehören. In den Spalten soft (Softlimit) und hard (Hardlimit) nach blocks, kann nun in blocks das Limit festgelegt werden.
Daher sollte das Softlimit immer unter dem Hardlimit gesetzt werden. Mit den zweiten Hard und Softlimitspalten läßt sich das Limit mit „Inodes“ (Dateien) setzen.
Ob ein Block aus 1024, 2048 oder 4096 Bytes besteht, kann mit dumpe2fs festgestellt werden.
[root@localhost /]# dumpe2fs -h /dev/hda1 | grep "Block size" dumpe2fs 1.39 (29-May-2006) Block size: 1024
[root@localhost /]# edquota -g [gruppe]
Quota Optionen für [gruppe] einstellen.
[root@localhost /]# edquota -u [nutzer]
Quotaoptionen für [nutzer] einstellen.
[root@localhost /]# edquota -p patti `awk -F: '$3 > 1000 {print $1}' /etc/passwd`
Alle Nutzer, deren ID > 1000 ist, werden mit den Quota Werten von patti besetzt.
Mit dem Parameter gracetime wird die erlaubte Zeit festgelegt, in der das Softlimit überschritten werden darf.
[root@localhost /]# edquota -u -T michel
Allgemein für User.
[root@localhost /]# edquota -u -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/hdb2 2days 2days
[root@localhost /]# edquota -p user1 -u user2,user3,user4
Die Einstellungen von user1 werden auf alle anderen angegebenen Nutzer übertragen. (Kann auch auf Gruppen angewendet werden.
Mit quotaon werden Quotas aktiviert.
Syntax:
Optionen:
[root@localhost /]# quotaon -vu / /dev/hda1 [/]: user quotas turned on
[root@localhost ~]# quotaon -augv quotaon: using //aquota.user on /dev/hda1 [/]: Das Gerät oder die Ressource ist belegt
Eine Fehlermeldung wird angezeigt. Kann es sein, dass Quota schon aktiviert ist?
Mit quotaoff werden Quotas deaktiviert.
[root@localhost /]# quotaoff -vu / /dev/hda1 [/]: user quotas turned off
Userquotas wurden deaktiviert.
[root@localhost /]# quotaoff -avug
Alle Quotas werden deaktiviert.
Die angemeldeten Nutzer können mit quota deren Status anzeigen. Der Administrator root kann mit der Option -u [nutzer], die Einstellungen anderer User einsehen.
quota
Soll der Zugriff auf die Quota Einträge nur root gestattet werden.
[root@localhost /]# chmod 600 /quota.*
Einen Bericht über die aktuellen Quotas und die Belegung des Dateisystems kann man mit repquota ermitteln. Dabei können folgende Kommandos angewendet werden. Je nach der installierten Version von Quota, funktionieren einige Optionen nicht mehr.
Syntax:
Optionen:
Mit älteren Quota Versionen kann man mit folgenden Optionen einen Quota Bericht erstellen.
[root@localhost /]# repquota -avug /public
[root@localhost /]# repquota -avug /dev/hdb1
Optionen für neuere Quota Versionen.
[root@localhost /]# repquota -stguv -a
[root@localhost /]# repquota -a
*** Report for user quotas on device /dev/hdb1 Block grace time: 2days; Inode grace time: 2days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- michel -- 36 81920 100M 5 0 0 ... ...