Quota für Benutzer und Gruppen

Rest siehe bitte die entsprechenden ManPages.

Generelles

Quotas gehen am einfachsten pro DateiSystem. Daher sollte man ggf. die Bereiche für /home (dort will man evtl. Benutzer-Quota haben) und die Bereiche für z.B. /gruppen (dort liegen z.B. Daten der Arbeitsgruppen) auf unterschiedliche DateiSysteme legen. So kann man bei Bedarf usrquota für /home und grpquota für /gruppen aktivieren - dies hat den Vorteil, dass eine als user.gruppe erzeugte Datei unter /home nur zur usrquota zählt und unter /gruppen nur zur grpquota.

Sind beide Verzeichnisse auf einem Filesystem, zählt die Datei zu beiden Quotas. Wenn einzelne Benutzer in ihren Gruppen wesentlich mehr Speicher verwenden dürfen sollen als alleine,(Messdaten etc.) muss man dann ggf. tricksen (z.B. mit Samba oder sgid (s.u.)).

Wenn man private Gruppen verwendet, könnte man auch beides auf ein Dateisystem legen. Dann braucht man nämlich bloß grpquota.

/etc/fstab für Benutzer- und Gruppen-Quota

/dev/hda2       /home       ext3    defaults,usrquota       1   1
/dev/hda3       /gruppen    ext3    defaults,grpquota       1   1

Quota-Dateien generieren / updaten

Einmalig bzw. beim Systemboot (Warnungen des Kommandos genau lesen!):

quotacheck -avug         # erzeugen / auffrischen der Quota-Datenbank

crontab:

0 3 * * 0 /sbin/quotacheck -avug

Quota zuweisen

# Benutzer-Quota:
edquota -u maier

# Gruppen-Quota:
edquota -g verkauf

# Verwenden eines Muster-Benutzers (die anderen bekommen die gleichen Einstellungen):
edquota -p musteruser andereruser
# alle User mit UID >= 500 bekommen die gleichen Settings wie musteruser:
edquota -p musteruser `awk -F: '$3 > 499 {print $1}' /etc/passwd`

# grace time setzen (7 Tage sind OK)
edquota -t

Quota aktivieren

quotaon -avug 

Quota-Reporte erstellen

Eignet sich auch gut als crontab-Eintrag für regelmäßige Reports via Mail:

repquota -aug

usrquota und grpquota auf einem Filesystem und Samba

Hat man usrquota,grpquota auf einem Filesystem, kann man (wenn sonst nichts dagegen spricht) mit

[verkauf]
 # ...
 path = /daten/verkauf
 allowed users = @verkauf
 force user = nobody

nur die Mitglieder der Gruppe verkauf dort zulassen, es aber dem Erzeuger "wegnehmen" und User nobody geben - dadurch wird das Konto des Dateierzeugers entlastet.

Es bietet sich auch an, entsprechende sgid-Bits zu setzen und Gruppenzugehörigkeit:

chown -R nobody.verkauf /daten/verkauf
chmod -R g+rwX /daten/verkauf
find /daten/verkauf -type d -exec chmod g+s {} \;

Man hüte sich in dieser Konstellation vor Sambas force group:

Entsprechendes gilt dann auch für die Home-Verzeichnisse:

[home]
 # ...
 create mode = 0711
 directory mode = 0711
 force group = nogroup

Damit kann man es der Gruppe des Erzeugers "wegnehmen" und Gruppe nogroup geben - dadurch wird das Gruppen-Konto der Gruppe des Dateierzeugers entlastet.

quota/BenutzerUndGruppen (zuletzt geändert am 2007-12-23 22:45:41 durch localhost)