Einerseits gibt es Dinge, die kein Benutzer tun kann, wie z
- Hardlinking von Verzeichnissen (aufgrund von Dateisystembeschränkungen)
- Beschreiben einer bereits gebrannten CD-ROM (wegen Physik)
Aber das sind keine Privilegien, weil sie nicht gewährt werden können, sie sind einfach für niemanden möglich.
Dann gibt es Einschränkungen für das gesamte System oder Teile davon, die ein- oder ausgeschaltet werden können.
Unter OS X gibt es beispielsweise die Option, die Ausführung von Code nur zuzulassen, wenn er von Apple signiert wurde.
Ich halte dies auch nicht für ein Privileg, da es kein Benutzer haben kann, wenn der Superuser es nicht kann. Sie können es nur global deaktivieren.
Bearbeiten:
Ihre Vorstellung von einer Datei ohne das ausführbare Bit fällt ebenfalls in diese Kategorie, da dies buchstäblich niemand kann und niemand diese Berechtigung erhalten kann.
Und selbst wenn Sie einem anderen Benutzer oder einer anderen Gruppe die Berechtigung erteilen, diese Datei auszuführen, jedoch nicht root oder eine Benutzergruppe, in der root sich befindet, kann root diese Datei weiterhin ausführen (getestet auf OS X 10.10-, 10.11- und Ubuntu 15.04-Servern).
Abgesehen von diesen Fällen gibt es kaum etwas, was root nicht tun kann.
Es gibt jedoch einen Kernelmodus (im Gegensatz zum Benutzermodus).
Soweit ich weiß, laufen auf einem vernünftigen System nur der Kernel, die Kernel-Erweiterungen und die Treiber im Kernel-Modus, und alles andere (einschließlich der Shell, von der aus Sie sich als root anmelden) läuft im Benutzermodus.
Man könnte daher argumentieren, dass "root sein nicht genug ist". Auf den meisten Systemen ist der Root-Benutzer jedoch in der Lage, Kernel-Module zu laden, die wiederum im Kernel-Modus ausgeführt werden. Auf diese Weise kann der Root-Benutzer Code im Kernel-Modus ausführen.
Es gibt jedoch Systeme (wie iOS), bei denen dies nicht (willkürlich) möglich ist, zumindest nicht ohne die Ausnutzung von Sicherheitsvorkehrungen. Dies ist hauptsächlich auf eine erhöhte Sicherheit zurückzuführen, wie die Durchsetzung von Codesignaturen. In den Prozessoren von iDevices
sind beispielsweise AES-Verschlüsselungsschlüssel integriert, auf die nur im Kernel-Modus zugegriffen werden kann. Kernel-Module könnten auf diese zugreifen, aber der Code in diesen Kernel-Modulen müsste auch von Apple signiert werden, damit der Kernel sie akzeptiert.
Unter OS X gibt es seit Version 10.11 (El Capitan) auch einen sogenannten "rootless mode" (obwohl der Name irreführend ist, weil root immer noch existiert), der Roots bestimmte Dinge verbietet, die Installer noch ausführen können.
Zitat aus dieser ausgezeichneten Antwort auf AskDifferent :
Hier ist, was es einschränkt, auch von root:
- Sie können nichts in / System, / bin, / sbin oder / usr ändern (außer / usr / local); oder eine der integrierten Apps und Dienstprogramme. Nur das Installationsprogramm und das Software-Update können diese Bereiche ändern, und dies auch nur, wenn von Apple signierte Pakete installiert werden.
root
, und daher kann kein Recht entzogen werdenroot
.