Festlegen von Dateisystemkontingenten unter Ubuntu

Dateisystemkontingent ist eine integrierte Standardfunktion im Linux-Kernel. Kontingente bestimmen den Speicherplatz, den eine Datei zur Unterstützung von Benutzeraktivitäten haben sollte. Die Festplattenkontingente begrenzen auch die Anzahl der Dateien, die ein Benutzer auf dem System erstellen kann.

Zu den Dateisystemen, die das Quotensystem unterstützen, gehören xfs, ext2, ext4 und ext3, um nur einige zu nennen. Die Zuweisung von Kontingenten ist spezifisch für das Dateisystem und für jeden Benutzer. Dieser Artikel enthält alles, was Sie über die Arbeit mit dem Kontingentdateisystem in einem Mehrbenutzer wissen müssen Ubuntu 18.04 Umgebung.

Was du brauchst

Die Annahme hier ist, dass Sie verwenden Ubuntu 18.04 System mit einem Benutzer (tecmint) Sudo-Rechte gegeben. Die hier geteilten Ideen können auf allen Linux-Distributionen funktionieren, solange Sie die richtige Implementierungstechnik verwenden.

Schritt 1: Quota in Ubuntu installieren

Damit Kontingente bereit und verwendbar sind, installieren Sie das Kontingent-Befehlszeilentool mit dem Befehl apt. Zuvor müssen Sie jedoch die Systemsoftwarepakete aktualisieren.

$ sudo apt update

Verwenden Sie nun den folgenden Befehl zur Installation Quote Paket auf Ubuntu.

$ sudo apt install quota
Installieren Sie Quota in Ubuntu
Installieren Sie Quota in Ubuntu


Drücken Sie Y, und dann EINGEBEN Damit der Installationsvorgang beginnt.

Bestätigen Sie die Installationsversion, indem Sie den folgenden Befehl ausführen. Ihre Versionsnummer kann von der unten gezeigten abweichen.

$ quota --version
Überprüfen Sie die Kontingentversion in Ubuntu
Überprüfen Sie die Kontingentversion in Ubuntu

Schritt 2: Installieren des Moduls für den Kontingentkern

Diejenigen, die ein Cloud-basiertes virtuelles System ausführen, die Standardeinstellung Ubuntu Bei der Installation fehlen möglicherweise die Kernelmodule, die die Verwendung des Kontingents unterstützen. Sie müssen mit dem Suchwerkzeug bestätigen und sicherstellen, dass die beiden Module, quota_v1, und teile _v2sind in der / lib / modules Verzeichnis.

$ find /lib/modules/`uname -r` -type f -name '*quota_v*.ko*'

Dies sollte das Ergebnis des obigen Befehls sein.

Überprüfen Sie die Kontingentkernmodule
Überprüfen Sie die Kontingentkernmodule

Machen Sie sich keine Sorgen um die Kernel-Versionen, solange die beiden Module vorhanden sind. Wenn nicht gefunden, verwenden Sie den folgenden Befehl, um Quota-Kernel-Module wie gezeigt zu installieren.

$ sudo apt install linux-image-extra-virtual
Installieren Sie Quota Kernel-Module
Installieren Sie Quota Kernel-Module

Sie erhalten die richtigen Module, die Sie für die Kontingentimplementierung benötigen.

Schritt 3: Aktualisieren der Dateisystem-Mount-Optionen

Damit die Kontingente auf einem bestimmten System aktiv sind, müssen sie mit zugehörigen Kontingentoptionen bereitgestellt werden. Sie können dies tun, indem Sie den Dateisystemeintrag im aktualisieren / etc / fstab Datei.

$ sudo nano /etc/fstab

Sie sollten bereit sein, die Datei entsprechend zu bearbeiten. Der Unterschied zwischen einer fstab-Datei und einer Desktop-Datei besteht darin, wie die / oder Root-Dateisystem repräsentiert den gesamten Speicherplatz. Ersetzen Sie die Leitung (/) das zeigt auf das Wurzelsystem mit den folgenden Zeilen.

LABEL=cloudimg-rootfs   /        ext4   usrquota,grpquota        0 0

Die Zeilen ändern sich, um das zu ermöglichen Benutzerquote und grpquota zugänglich sein. Sie können eine belassen, die nicht Teil der endgültigen Konfiguration ist. Wenn die fstab einige Optionen hatte, fügen Sie die neuen Optionen am Ende der Zeile hinzu. Trennen Sie beim Anhängen die neuen Elemente durch ein Komma, jedoch ohne Abstand zwischen ihnen.

Hängen Sie das Dateisystem erneut ein, damit die Änderungen wirksam werden.

$ sudo mount -o remount /

HINWEIS: Bestätigen Sie, dass zwischen den Optionen in der kein Leerzeichen vorhanden ist / etc / fstab um solche Fehler zu vermeiden.

mount: /etc/fstab: parse error

Die Überprüfung der Verwendung neuer Optionen beim Mounten des Dateisystems im / proc / mounts Datei ist fertig durch grep. Der Befehl zeigt den Eintrag des Root-Dateisystems in der Datei an.

$ sudo cat /proc/mounts | grep ' / '
Überprüfen Sie den Eintrag des Root-Dateisystems in Fstab
Überprüfen Sie den Eintrag des Root-Dateisystems in Fstab

In der Ausgabe sehen Sie die beiden Optionen, die wir eingerichtet haben. Es ist Zeit, das Quotensystem einzuschalten.

Schritt 4: Aktivieren von Festplattenkontingenten unter Ubuntu

Zuerst müssen Sie die ausführen Quotacheck Befehl.

$ sudo quotacheck -ugm /

Der Befehl erstellt zwei Dateien, einen Kontingentbenutzer und eine Kontingentgruppe, die Informationen zum Limit und zur Verwendung des Dateisystems enthalten. Diese Dateien müssen vorhanden sein, bevor Sie das Kontingent verwenden können.

Hier ist eine Definition der Parameter:

  • -u: symbolisiert, dass eine benutzerbasierte Kontingentdatei erstellt wird.
  • -g: Gibt an, dass eine gruppenbasierte Kontingentdatei erstellt wird.
  • -m: disables remounting of the file system as a read-only while at the same time gives accurate results in an environment where the user keeps saving files. The m Die Option ist während des Setups nicht obligatorisch.

Wenn die Verwendung von Kontingenten basierend auf Benutzer oder Gruppe nicht aktiviert werden muss, muss das nicht ausgeführt werden Quotacheck Möglichkeit. Bestätigen Sie dies, indem Sie das Stammverzeichnis mit dem Befehl ls auflisten.

$ ls /
Beispielausgabe
aquota.group  bin   dev  home        initrd.img.old  lib64       media  opt   root  sbin  srv  tmp  var      vmlinuz.old
aquota.user   boot  etc  initrd.img  lib             lost+found  mnt    proc  run   snap  sys  usr  vmlinuz

Nichteinbeziehung der u und g Parameter in der Befehl quotacheckfehlen die entsprechenden Dateien.

Jetzt können wir das Kontingent im Stammverzeichnis aktivieren (/) Dateisystem mit dem folgenden Befehl.

$ sudo quotaon -v /

Schritt 5: Konfigurieren Sie Kontingente für einen einzelnen Benutzer

Wir können die verwenden Edquota und setquota Befehle, um sie für Benutzer oder Gruppen festzulegen.

Edquota verwenden

Das edquota-Befehle Bearbeiten von Kontingenten Zum Beispiel können wir ein dazugehöriges Kontingent bearbeiten tecmint Benutzer mit:

$ sudo edquota -u tecmint

Verwendung der -u Option gibt an, dass das Kontingent einem Benutzer gehört. Verwenden Sie die -g Option, wenn Sie ein Kontingent bearbeiten müssen, das zu einer Gruppe gehört. Der Befehl öffnet eine Datei mit einem Texteditor Ihrer Wahl.

Überprüfen Sie das Benutzerkontingent auf der Festplatte
Überprüfen Sie das Benutzerkontingent auf der Festplatte

Die Ausgabe listet den Benutzernamen, die UID, das Dateisystem mit aktiven Kontingenten und die Verwendung von Blöcken und Inodes auf. Ein auf Inodes basierendes Kontingent begrenzt die Anzahl der Dateien und Verzeichnisse, die Benutzer erstellen können, unabhängig von der Größe, die sie auf der Festplatte verwenden. Die meisten Admins bevorzugen die blockbasiert Kontingent, das den Speicherplatz steuert.

HINWEIS: Die Verwendung von Blöcken zeigt nicht, wie sie sich in Abhängigkeit von verschiedenen Faktoren ändern können, z. B. dem Befehlszeilentool, das sie meldet. Innerhalb der Kontextkontingente unter Ubuntu können wir davon ausgehen, dass ein einzelner Block einem Kilobyte Speicherplatz entspricht.

Über die obige Befehlszeile verwendet der Benutzer 2032-Blöcke, was 2032 KB Speicherplatz auf dem entspricht / dev / sda1. Das 0 value deaktiviert sowohl weiche als auch harte Grenzen.

Mit jedem festgelegten Kontingent können Sie das weiche und das harte Limit festlegen. Ein Benutzer, der das Soft-Limit überschreitet, kann sein Kontingent überschreiten, darf jedoch nicht mehr Leerzeichen oder Inodes verwenden. In einem solchen Fall hat der Benutzer sieben Tage Zeit, um seinen Soft-Limit-Speicherplatz einzulösen. Andernfalls ist es schwierig, Dateien zu speichern oder zu erstellen.

Ein hartes Limit bedeutet, dass die Erstellung neuer Blöcke oder Inodes in dem Moment stoppt, in dem Sie das Limit erreichen. Benutzer melden Warnungen oder Fehler, während sie reguläre Aufgaben ausführen.

Wir können das Blockkontingent von tecmint aktualisieren, um ein weiches Limit von zu haben 100 MB und 110 MB für die harte Grenze.

Festlegen des Benutzerkontingentlimits
Festlegen des Benutzerkontingentlimits

Schließen Sie nach dem Bearbeiten die Datei und überprüfen Sie die neuen Einstellungen für das Benutzerkontingentlimit mithilfe von Kontingentbefehl.

$ sudo quota -vs tecmint
Überprüfen Sie das Benutzerkontingentlimit
Überprüfen Sie das Benutzerkontingentlimit

HINWEIS: Geben Sie Ihren Benutzern die Möglichkeit, ihre Kontingente zu analysieren, ohne die Sudo-BefehlWährend der Erstellungsphase in Schritt 4 müssen sie Zugriff auf gelesene Kontingentdateien erhalten. Eine einfache Möglichkeit besteht darin, eine Benutzergruppe zu erstellen und der Gruppe Zugriff zu gewähren, damit Sie Benutzer hinzufügen können.

Setquota verwenden

setquota Aktualisiert die Kontingentinformationen mit einem einzigen Befehl ohne interaktive Einrichtung. Der Befehl erfordert den Benutzernamen und das Festlegen der weichen und harten Grenzen, die der Block und der Inode verwenden. Sie müssen auch das Dateisystem deklarieren, das das Kontingent verwendet.

$ sudo setquota -u tecmint 200M 220M 0 0 /

Der Befehl verdoppelt die blockbasierten Kontingentgrenzen auf 200 Megabyte und 220 Megabyte. Die Zwei 0 0 Geben Sie an, dass sowohl die harten als auch die weichen Grenzwerte nicht festgelegt sind. Dies ist auch dann erforderlich, wenn keine Inode-basierten Quoten festgelegt werden müssen.

Verwenden Sie wie gewohnt den Befehl quota, um Ihren Fortschritt zu überprüfen.

$ sudo quota -vs tecmint
Überprüfen Sie das Benutzerkontingentlimit
Überprüfen Sie das Benutzerkontingentlimit

Schritt 6: Kontingentberichte erstellen

Beim Erstellen eines Kontingentberichts muss die Verwendung durch alle Benutzer angegeben werden. Der Befehl repquota wird eingesetzt.

$ sudo repquota -s /
Kontingentberichte erstellen
Kontingentberichte erstellen

Die Ausgabe oben ist ein Bericht über die / Root-Dateisystem. Das -s weist an repquota Ergebnisse in einem für Menschen lesbaren Format zu liefern.

Die Standardblock-Kulanzzeit ist 7 Tage. Die Grace-Spalte benachrichtigt den Benutzer über die Anzahl der Tage vor der Verweigerung des Zugriffs auf die Ressourcenfestplatte.

Schritt 7: Legen Sie die Konfigurations-Grace-Perioden fest

Die Nachfrist ist die Zeit, zu der ein Benutzer die Berechtigung erhält, über das Standard-Timing hinaus zu arbeiten.

$ sudo setquota -t 864000 864000 /

Der Befehl weist den Block und den Inode an, eine Nachfrist von zu haben 864000 Sekunden ein Äquivalent von 10 Tage. Die Einstellung wirkt sich auf alle Benutzer aus. Daher müssen Werte festgelegt werden, auch wenn keine Blöcke und Inodes verwendet werden. Der Zeitwert muss in Sekunden angegeben werden.

Bestätigen Sie die Änderungen und prüfen Sie mit dem Befehl, ob sie wirksam wurden:

$ sudo repquota -s /

Häufige Fehlermeldungen

quotaon: cannot find //aquota.group on /dev/vda1 [/]
quotaon: cannot find //aquota.user on /dev/vda1 [/]

Der obige Fehler tritt häufig auf, wenn Sie versuchen, Kontingente mit dem Befehl zu aktivieren Qoutaon vor dem Versuch, den Status eines Kontingents mit dem Befehl zu überprüfen Quotacheck.

quotaon: using //aquota.group on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.
quotaon: using //aquota.user on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.

Dieser Fehler teilt dem Administrator mit, dass der Kernel nicht unterstützt oder dass Sie möglicherweise die falsche Version auf dem Computer haben (wir haben quota_v1 und quota_v2). Zum UbuntuSolche Fehler treten häufig auf einem Cloud-basierten virtuellen Server auf.

Beheben Sie den Fehler, indem Sie das installieren Linux-Image-extra-virtuell Paket mit dem Befehl apt.

quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //quota.user: No such file or directory

Der Fehler tritt auf, wenn der aktuelle Benutzer keine Berechtigung zum Lesen von Kontingentdateien hat. Als Administrator müssen Sie nur die richtigen Berechtigungsänderungen vornehmen oder sudo verwenden, wenn Sie auf Dateien in einem Quotensystem oder einer Quotendatei zugreifen müssen.

Fazit

Am Anfang des Artikels haben wir mit begonnen Quote Befehlszeilentools und die Überprüfung der Kernel-Version sowie weitere Erläuterungen zum Einrichten eines blockbasierten Kontingents für einen einzelnen Benutzer und zum Generieren eines Berichts über die Verwendung eines Dateisystemkontingents.

Der Artikel behandelt auch häufige Fehler und wie Sie diese vermeiden können, indem Sie ein zusätzliches Paket verwenden oder die Kernelversion auf Ihrem System überprüfen.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *