Zum Inhalt springen
< Alle Themen
Drucken

Eine Einführung in Linux für IRC Administratoren

Quoten

Wer alleiniger Nutzer des Systems ist, wird diesen Befehl seltener nutzen.
Wer Webhosting oder mehrere Nutzer beherbergt, also ein Multi-User-Betriebssystem, der wird den Fesstplattenspeicher für die einzelnen Nutzer beschränken müssen, damit ein Speicher nicht vollläuft.

Hier ein kleines Tutorial, um den Festplattenspeicher zu limitieren.

Eine effektive Methode, um den Speicherverbrauch zu kontrollieren und fair zu verteilen, sind die sogenannten Quoten (engl. quotas). Quoten ermöglichen es Systemadministratoren, die Menge an Festplattenspeicher zu begrenzen, die von einzelnen Benutzern oder Gruppen verwendet werden kann. Lass uns durch den Prozess gehen, wie Du Quoten auf einem Linux-System einrichten und verwalten kannst.

Schritt 1: Quotenunterstützung sicherstellen

Bevor Du beginnst, stelle sicher, dass Dein Dateisystem Quoten unterstützt. Die meisten modernen Linux-Dateisysteme wie ext4 bieten diese Unterstützung.

  1. Quotenpakete installieren: Zuerst musst Du die notwendigen Pakete installieren. Auf Debian-basierten Systemen verwendest Du:arduinoCopy codesudo apt-get install quota quotatool

Schritt 2: Dateisystem für Quoten vorbereiten

Du musst Dein Dateisystem mit Quotenunterstützung mounten.

  1. Dateisystem mit Quotenoptionen mounten: Bearbeite die /etc/fstab-Datei, um die Quotenoptionen usrquota und grpquota hinzuzufügen. Ein Beispiel-Eintrag könnte so aussehen:

  1. /dev/sda1 /home ext4 defaults,usrquota,grpquota 0 2

  1. System neu mounten: Um die Änderungen anzuwenden, remounte das Dateisystem:
    sudo mount -o remount /home

Schritt 3: Quotendateien erstellen und scannen

Erstelle die notwendigen Quotendateien und führe einen initialen Scan durch.

  1. Quotendateien erstellen: sudo quotacheck -cug /home
  2. Quotendatenbank aktualisieren: sudo quotacheck -aug

Schritt 4: Quoten einrichten

Jetzt kannst Du beginnen, Quoten für Benutzer oder Gruppen festzulegen.

  1. Quoten für einen Benutzer setzen: Verwende edquota, um Quoten für einen bestimmten Benutzer zu bearbeiten:sudo edquota -u benutzername
    Hier kannst Du die Soft– und HardLimits für den Benutzer einstellen.
  2. Quoten für eine Gruppe setzen: Ähnlich kannst Du Quoten für eine Gruppe setzen:
    sudo edquota -g gruppenname

Schritt 5: Quoten überwachen und verwalten

Nachdem die Quoten eingerichtet sind, kannst Du sie überwachen und anpassen.

  1. Quoten für Benutzer anzeigen: Verwende repquota, um die Quotennutzung anzuzeigen:
    sudo repquota /home
  2. Quotenwarnungen einrichten: Du kannst auch Warnmeldungen einrichten, um Benutzer zu informieren, wenn sie ihre Quotenlimits erreichen.

Beschränkungen von Ressourcen

Wie auch den Festplattenspeicher, kannst Du auch alle anderen wichtigen Ressourcen beschränken, wie zum Beispiel mmaximale CPUZeit , Pipe-Größe, Anzahl der Prozesse.

Linux Befehl ulimit

Der Linux-Befehl ulimit: Steuerung von Systemressourcen


ulimit
(User Limit) ist ein in die Shell eingebauter Befehl, der dazu dient, die von Benutzerprozessen genutzten Ressourcen zu kontrollieren. Mit ulimit kannst Du festlegen, wie viele Ressourcen ein Benutzer oder ein Prozess in einer Shell-Session verwenden darf. Dazu gehören beispielsweise die maximale Dateigröße, die Anzahl der offenen Dateien, der Speicherverbrauch und mehr.

Schlüsselfunktionen von ulimit

  • Festlegen von Ressourcenlimits: ulimit ermöglicht es Dir, verschiedene Arten von Ressourcenlimits festzulegen, wie z.B. CPU-Zeit, Dateigröße, Speichernutzung, etc.
  • Verhinderung von Ressourcenüberlastung! Durch das Setzen von Grenzwerten kannst Du verhindern, dass einzelne Prozesse das System durch übermäßigen Ressourcenverbrauch beeinträchtigen.
  • Sicherheit und Stabilität! ulimit hilft dabei, die Systemstabilität und -sicherheit zu gewährleisten, indem es die Ressourcennutzung einzelner Benutzer oder Prozesse begrenzt.

Anwendung von ulimit

1. Anzeigen aktueller Limits:

Um die aktuellen Limits anzuzeigen, verwende:

ulimit -a

Dies zeigt alle aktuellen Limit-Einstellungen für Deine Shell-Session an.

2. Setzen von spezifischen Limits:

Du kannst spezifische Limits mit ulimit setzen. Zum Beispiel:

  • Setzen des maximalen Speicherverbrauchs:
    ulimit -m [Wert] Hierbei steht [Wert] für den maximalen Speicher in Kilobytes.
  • Begrenzen der maximalen Dateigröße
    limit -f [Wert]
    Dies legt die maximale Größe einer Datei fest, die ein Benutzer erstellen kann.
  • Begrenzung der CPU-Zeit:
    ulimit -t [Wert] Dies setzt die maximale CPU-Zeit in Sekunden, die ein Prozess verwenden darf.

3. Temporäre vs. permanente Änderungen:

Die mit ulimit gesetzten Limits gelten nur für die aktuelle Shell-Session. Um sie dauerhaft zu machen, musst Du die Einstellungen in den Startdateien wie .bashrc oder /etc/profile hinzufügen.

Wichtige Hinweise

  • Root-Berechtigung: Einige ulimit-Operationen erfordern Root-Berechtigungen, insbesondere wenn sie die Standardeinstellungen des Systems überschreiten.
  • Begrenzungen verstehen: Sei vorsichtig beim Setzen von Limits. Zu restriktive Einstellungen können normale Prozesse behindern, während zu lockere Einstellungen das System überlasten können.

Deine aktuellen Limits kannst Du in der /etc/security/limits.conf einsehen.
Der Befehl:

cat /etc/security/limits.conf

Linux -Berechtigungen

Kleine Wiederholung anhand der POSIX-Erläuterung

Linux und anderen UNIX-ähnlichen Betriebssystemen spielen Berechtigungen eine entscheidende Rolle für die Systemsicherheit und Datenintegrität. Diese Berechtigungen basieren auf dem POSIX-Standard (Portable Operating System Interface), einem Set von IEEE-Standards, das zur Vereinheitlichung der Schnittstellen von UNIX-Systemen beiträgt.

Grundlagen der Linux-Berechtigungen

Linux-Berechtigungen bestimmen, wer auf Dateien und Verzeichnisse zugreifen und wie sie interagieren kann. Jede Datei und jedes Verzeichnis hat drei grundlegende Berechtigungstypen:

  1. Lesen (Read): Erlaubt das Lesen einer Datei oder das Auflisten von Dateien in einem Verzeichnis.
  2. Schreiben (Write): Erlaubt das Modifizieren einer Datei oder das Hinzufügen/Entfernen von Dateien in einem Verzeichnis.
  3. Ausführen (Execute): Erlaubt die Ausführung einer Datei als Programm oder das Betreten eines Verzeichnisses.

Diese Berechtigungen werden für drei Benutzerklassen festgelegt:

  • Besitzer (Owner)
  • Gruppe (Group)
  • Andere (Others)

POSIX und Linux-Berechtigungen

POSIX definiert, wie Berechtigungen auf Unix-ähnlichen Systemen wie Linux implementiert werden sollten. Dies umfasst:

  • Berechtigungsbits:
    POSIX bestimmt, dass Berechtigungen als eine Reihe von Bits gespeichert werden, die lesen, schreiben und ausführen für Besitzer, Gruppe und andere steuern.
  • UID (User ID) und GID (Group ID): Jeder Benutzer und jede Gruppe in einem POSIX-kompatiblen System hat eine eindeutige ID. Die Dateiberechtigungen beziehen sich auf diese IDs, um Zugriffsrechte zu definieren.

Verwaltung von Berechtigungen

Linux-Befehle, die für die Verwaltung von Berechtigungen im Einklang mit POSIX-Standards verwendet werden, umfassen:

  • chmod: Ändert die Berechtigungen einer Datei oder eines Verzeichnisses.
  • chown: Ändert den Besitzer einer Datei oder eines Verzeichnisses.
  • chgrp: Ändert die Gruppe, der eine Datei oder ein Verzeichnis zugeordnet ist.

Virtuelle Speicherverwaltung

Previous Section
Schlagwörter:
Inhaltsverzeichnis