Prozessberechtigungen
100%

Berechtigungen · Lektion 7

Prozessberechtigungen

Erfahre, wie reale, effektive und gespeicherte Benutzer-IDs Linux-Prozessen helfen, Aufrufer nachzuverfolgen und Privilegien zu verwalten.

Linux-Autorisierungsprüfungen wirken auf Prozesszugangsdaten und nicht unmittelbar auf einen eingegebenen Benutzernamen. Ein Prozess besitzt mehrere verwandte Benutzer- und Gruppen-IDs, die jeweils eine andere Aufgabe erfüllen. Die meisten gewöhnlichen Programme starten mit übereinstimmenden Identitäten, während privilegierte Programme bewusst unterschiedliche Werte verwenden können.

Reale Benutzer-ID

Die reale Benutzer-ID kennzeichnet das Konto, das den Prozess oder seine übergeordnete Anmeldesitzung gestartet hat. Programme können sie prüfen, um den Aufrufer von einer erhöhten effektiven Identität zu unterscheiden.

Bei einem gewöhnlichen, von Benutzer Bob gestarteten Befehl entspricht die reale Benutzer-ID normalerweise Bobs UID. Das Erstellen eines weiteren Prozesses erzeugt weder ein neues Konto noch ändert es diese Identität von selbst.

Was kennzeichnet die reale Benutzer-ID eines Prozesses gewöhnlich?

Effektive Benutzer-ID

Die effektive Benutzer-ID ist die Benutzerzugangsangabe, die für viele Dateisystem- und Privilegienprüfungen verwendet wird. Gewöhnlich stimmt sie mit der realen UID überein. Bei der Ausführung eines berücksichtigten setuid-Programms kann sie stattdessen aus dem Eigentümer der ausführbaren Datei initialisiert werden.

Ein sorgfältig entwickeltes Passwortwerkzeug kann beispielsweise mit erhöhter effektiver UID laufen, um geschützte Authentifizierungsdaten zu aktualisieren. Das Programm muss dennoch Richtlinien anhand des Aufrufers, des angeforderten Kontos, der PAM-Ergebnisse und weiterer Zusammenhänge durchsetzen. Der Besitz einer effektiven UID macht nicht automatisch jeden angeforderten Vorgang rechtmäßig.

Welche Benutzer-ID wird für viele Zugriffsentscheidungen im Namen eines Prozesses verwendet?

Gespeicherte Set-User-ID

Mit der gespeicherten Set-User-ID kann ein Programm eine Identität behalten, die es später gemäß den Regeln der Systemaufrufe wiederherstellen kann. Ein privilegiertes Programm kann seine effektive UID vorübergehend auf einen weniger privilegierten Wert umstellen, gewöhnliche Arbeiten mit geringeren Befugnissen ausführen und die gespeicherte Identität nur für einen eng begrenzten Vorgang wiederherstellen.

Das ist sicherer, als während des gesamten Programms erhöhte Befugnisse beizubehalten – allerdings nur bei korrekter Umsetzung. Programme sollten Privilegien dauerhaft ablegen, sobald sie nicht mehr benötigt werden, und jeden Aufruf zur Änderung von Zugangsdaten auf Fehler prüfen.

Warum kann ein privilegiertes Programm eine gespeicherte Set-User-ID behalten?

Benutzer-IDs sind nur ein Teil des Zugangsdatenbestands

Prozesse besitzen außerdem reale, effektive, gespeicherte und ergänzende Gruppenzugangsdaten. Dateisystem-IDs, Capabilities, Namensräume, Sicherheitsmodule, ACLs, Einhängeoptionen und Dienstrichtlinien können die Autorisierung weiter beeinflussen. Daher ist „die UID erlaubt es“ häufig nur ein Teil einer vollständigen Erklärung.

Verwende unter Linux Werkzeuge wie ps und /proc/PROCESS/status, um Zugangsdaten zu prüfen. Verfügbare Felder und Anzeigeformate unterscheiden sich. Lies daher die lokale Dokumentation und ändere Zugangsdaten nicht bloß zum Experimentieren auf einem gemeinsam genutzten System.

Wie verhalten sich bei den meisten gewöhnlichen Befehlen ohne Privilegienübergang die reale und die effektive UID zueinander?

Lektion abgeschlossen

Sie haben Prozessberechtigungen abgeschlossen

Du kannst nun erklären, warum ein Linux-Prozess mehrere Benutzeridentitäten besitzen kann.

  • Verwende die reale UID, um den ursprünglichen Aufrufer zu bestimmen.

  • Setze die effektive UID mit aktiven Autorisierungsprüfungen in Beziehung.

  • Nutze die gespeicherte Identität zum Verständnis kontrollierter Privilegienübergänge.

  • Berücksichtige Gruppen-IDs und zusätzliche Sicherheitsmechanismen als Teil der vollständigen Entscheidung.

Lernfortschritt speichern

Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.

Kostenloses Konto erstellen
Nächste Lektion
Zurück zu Berechtigungen