(Ich werde versuchen, mich kurz zu fassen.)
Theoretisch gibt es zwei Dimensionen von Privilegien:
Die Befehlssatzarchitektur (ISA) des Computers , die bestimmte Informationen und / oder Funktionen der Maschine schützt.
Das Betriebssystem (OS) erstellt ein Ökosystem für Anwendungen und Kommunikation. Im Kern ist der Kernel ein Programm, das auf dem ISA ohne jegliche Abhängigkeiten ausgeführt werden kann.
Die heutigen Betriebssysteme führen viele sehr unterschiedliche Aufgaben aus, so dass wir Computer wie heute verwenden können. In einer sehr (, sehr, sehr) vereinfachten Ansicht können Sie sich den Kernel als das einzige Programm vorstellen, das vom Computer ausgeführt wird. Anwendungen, Prozesse und Benutzer sind Artefakte des vom Betriebssystem und insbesondere vom Kernel erstellten Ökosystems.
Wenn wir über Benutzer- (Speicherplatz-) Berechtigungen in Bezug auf das Betriebssystem sprechen, sprechen wir über Berechtigungen, die vom Betriebssystem verwaltet, gewährt und erzwungen werden. Beispielsweise erzwingt der Kernel Dateiberechtigungen, die das Abrufen von Daten aus einem bestimmten Verzeichnis einschränken. Es untersucht einige der IDs, die der Datei zugeordnet sind, interpretiert einige Bits, die Berechtigungen darstellen, und ruft dann entweder die Daten ab oder lehnt dies ab.
Die Berechtigungshierarchie innerhalb der ISA stellt die Tools bereit, die der Kernel für seine Zwecke verwendet. Die spezifischen Details variieren stark, aber im Allgemeinen gibt es den Kernel-Modus, in dem von der CPU ausgeführte Programme sehr frei sind, E / A auszuführen und die von der ISA angebotenen Anweisungen und den Benutzermodus zu verwenden, in dem sich E / A und Anweisungen befinden eingeschränkt.
Wenn beispielsweise die Anweisung zum Schreiben von Daten in eine bestimmte Speicheradresse gelesen wird, kann eine CPU im Kernelmodus einfach Daten in eine bestimmte Speicheradresse schreiben, während sie im Benutzermodus zunächst einige Überprüfungen durchführt, um festzustellen, ob sich die Speicheradresse in a befindet Bereich der zulässigen Adresse, in die Daten geschrieben werden dürfen. Wenn festgestellt wird, dass die Adresse möglicherweise nicht beschrieben wird, wechselt der ISA normalerweise in den Kernelmodus und beginnt mit der Ausführung eines anderen Befehlsstroms, der Teil des Kernels ist, und führt das Richtige aus (TM).
Dies ist ein Beispiel für eine Durchsetzungsstrategie, mit der sichergestellt werden soll, dass ein Programm kein anderes Programm stört. Das Javascript auf der Webseite, die Sie gerade besuchen, kann Ihre Online-Banking-Anwendung also nicht dazu bringen, zweifelhafte Transaktionen durchzuführen.
Beachten Sie, dass im Kernel-Modus nichts anderes ausgelöst wird, um das Richtige durchzusetzen. Es wird davon ausgegangen, dass das im Kernel-Modus ausgeführte Programm das Richtige tut. Deshalb kann im Kernel-Modus ein Programm nicht gezwungen werden, die abstrakten Regeln und Konzepte des Ökosystems des Betriebssystems einzuhalten. Aus diesem Grund sind Programme, die im Kernelmodus ausgeführt werden, als Root-Benutzer vergleichsweise leistungsfähig.
Technisch gesehen ist der Kernel-Modus viel leistungsfähiger als nur der Root-Benutzer auf Ihrem Betriebssystem zu sein.