Kann man die maximal zulässige Größe für ein Verzeichnis festlegen?
Quota funktioniert auf Benutzer- bzw. Gruppenebene. Was macht man aber, wenn man ein Verzeichnis unter /daten begrenzen will, das öffentlich über Samba zugänglich ist?
Man kann das Verzeichnis einer Gruppe 'schenken' und dieser Gruppe Quotas aufzwingen. Etwa so:
- man lege eine entsprechende Gruppe an (z.B. 'daten')
auf dem Verzeichnis ein chgrp -R daten /daten
Gruppe Rechte geben: chmod -R g+rwX /daten
Verzeichnisse sgid und sticky: find /daten -type d -exec chmod g+st {} \;
Dann ist "set group id" für das Verzeichnis gesetzt (siehe DateiRechte), d.h. alles innerhalb dieses Verzeichnisses geschieht mit den Gruppenrechten dieser Gruppe. Die Rechte sonst kann man anpassen, wie man will (User-Rechte und "Rest-der-Welt"-Rechte).
Das "t" Bit sorgt dafür, dass (wie im /tmp Verzeichnis) jeder nur seine eigenen Dateien löschen darf, sonst dürfte nämlich der Besitzer des Verzeichnisses darin enthaltene Dateien löschen oder umbenennen, auch wenn er sie nicht ansehen dürfte (Datei löschen oder umbenennen braucht nur Schreibrechte im entsprechenden Verzeichnis, nicht für die Datei selbst!).
Man kann das "Zwingen" auf eine Gruppe auch in der /etc/samba/smb.conf erledigen, dazu einfach Folgendes in den entsprechenden Share eintragen:
force group = daten
Jetzt muss man die /etc/fstab anpassen, dass die Quotas auch benutzt werden:
/dev/hda2 /daten ext2 grpquota 0 2
Dann Quotas starten:
/sbin/init.d/quota start (SuSE, alt)
/etc/init.d/quota start (Debian, Corel, SuSE neu)
/etc/rc.d/init.d/quota start (Redhat, Mandrake, Caldera, ...)
Zusehen, wie es die Quotas checkt (quotacheck - dauert u.U. etwas). Dann mit
edquota -g daten
die Quota-Werte anpassen, es startet ein Texteditor mit den Quota-Daten.
blocks |
erlaubte KByte |
inodes |
erlaubte Anzahl Dateien/Verzeichnisse |
soft |
ab welchem Platz soll er (ggf. per eMail) Warnungen verschicken (s.a. warnquota) |
hard |
mehr als das geht auf keinen Fall |
grace |
wie lange soll er nach Verschicken der Warnung Zeit lassen (in Tagen), bis der Account vorübergehend deaktiviert wird? (i.d.R. nur für User-Quotas sinnvoll) |
Eventuell ist ein force group in der smb.conf noch sinnvoll, aber das ist vom Prinzip ja durch das sgid bit oben schon abgedeckt worden.
Samba neu starten, Quotas starten, fertig.
Beitragende: JensBenecke, ThomasWaldmann