OTOthoTools

Rechte-Prüfer

Oktale Rechte erklären
Ergebnissymbolisch
rwxr-x---
  • Kein kritisches Problem erkannt

Einführung

Der Rechte-Prüfer dekodiert einen oktalen Modus (z. B. 0750) in seine symbolische Form und kennzeichnet die Bits, die in Sicherheitsprüfungen am häufigsten zählen: weltweit beschreibbare Berechtigungen und das Setuid-Bit.

Oktale Modi sind drei oder vier Ziffern, wobei jede Ziffer eine Summe aus Lesen (4), Schreiben (2) und Ausführen (1) für eine Benutzerklasse ist: Besitzer, Gruppe und andere. Eine führende vierte Ziffer kodiert Sonderbits: Setuid (4), Setgid (2) und Sticky (1).

Ziel

  • Jeden drei- oder vierstelligen oktalen Modus in rwx-Symbolik übersetzen.
  • Sonderbits (Setuid, Setgid, Sticky) erkennen, wenn vorhanden.
  • Weltweit beschreibbare Berechtigungen als hoch und Setuid als Warnung kennzeichnen.

Eingaben

  • Ein drei- oder vierstelliger oktaler Modus, z. B. 0750 oder 644.
  • Ziffern müssen 0–7 sein; Buchstaben oder Symbole werden abgelehnt.

So funktioniert es

Der Wert wird auf vier Ziffern aufgefüllt (0750 bleibt 0750, 644 wird 0644). Jede Ziffer wird in ihre Lese-/Schreib-/Ausführungsbits zerlegt: 7 = rwx, 5 = r-x, 0 = ---.

Die erste Ziffer bildet die Sonderbits: 4 addiert suid, 2 addiert sgid, 1 addiert sticky.

Hat die Klasse "andere" Schreibberechtigung (eine 2, 3, 6 oder 7 in der letzten Ziffer), meldet das Werkzeug einen hohen Befund: Jeder lokale Benutzer kann das Objekt ändern. Ist Setuid gesetzt, fordert eine Warnung auf, Besitz und Integrität zu prüfen.

Testbares Beispiel

Ausprobieren — die Analyse läuft lokal in Ihrem Browser.

Beispiel

Modus: 4755

Erwartete Ausgabe

Symbolisch: suid rwxr-xr-x
Hoch: SUID ist gesetzt. Besitz und Integrität der Datei prüfen.
Hinweis: Besitzer- und Gruppenklasse sind für andere nicht beschreibbar.

Ausgabe verstehen

  • Die symbolische Zeile sagt Ihnen genau, wer lesen, schreiben und ausführen darf.
  • Eine weltweit beschreibbare Datei oder ein Verzeichnis (letzte Ziffer 2, 3, 6 oder 7) bedeutet, dass jeder lokale Benutzer sie ändern kann — meist ein Fehler, ausser bei absichtlich geteilten Verzeichnissen wie /tmp.
  • Setuid-Programme laufen mit den Rechten des Dateibesitzers; ein kompromittiertes Setuid-Binary ist ein Weg zur Rechteausweitung. Der Besitz muss also root sein und das Binary vertrauenswürdig.

Risiken

  • Weltweit beschreibbare Dateien erlauben Manipulation durch jedes lokale Konto, auch ein kompromittiertes.
  • Ein unerwartetes Setuid-Bit auf einem nicht root-gehörigen Binary ist ein klassischer Vektor zur Rechteausweitung.
  • Ein Sticky-Bit auf /tmp ist normal; ein Sticky-Bit anderswo kann versehentlich sein.

Grenzen

  • Das Werkzeug interpretiert einen Modus, keine echte Datei — es kann Ihnen den tatsächlichen Besitzer oder die Gruppe nicht nennen.
  • Es berücksichtigt keine ACLs (setfacl), die das traditionelle rwx-Modell übersteuern.
  • Sonderbit-Warnungen hängen vom Kontext ab; das Werkzeug kann nicht wissen, ob ein Setuid-Binary beabsichtigt ist.

Offizielle Referenzen

FAQ

Was bewirken die Sonderbits?

Setuid lässt ein Programm mit der Identität des Dateibesitzers laufen (typisch root); Setgid macht dasselbe für die Gruppe und lässt bei Verzeichnissen neue Dateien die Verzeichnisgruppe erben; das Sticky-Bit schränkt das Löschen in einem Verzeichnis auf den Dateibesitzer ein (wie auf /tmp).

Warum ist 644 für Dateien oft gut, 666 aber nicht?

644 gibt dem Besitzer Schreibzugriff und allen anderen nur Lesen. 666 macht die Datei für alle beschreibbar — jeder lokale Benutzer könnte sie ersetzen oder ändern.

Prüft das Werkzeug die echte Datei?

Nein. Fügen Sie einen Modus ein, um ihn zu verstehen; für die Prüfung Ihrer echten Datei verwenden Sie ls -l oder stat.