Rechte-Prüfer
Oktale Rechte erklären- ✓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.