Linux, die einzige Möglichkeit, Root-Zugriff zu erhalten, besteht darin, eine Setuid-Root-Datei auszuführen?
Frage
Stimmt meine Annahme, dass unter Unix/Linux die einzige Möglichkeit, Root-Zugriff zu erhalten, darin besteht, eine Setuid-Root-Datei auszuführen?
Mit anderen Worten, das System ruft auf setuid()
, setgid()
geht es nur darum, Privilegien zu verlieren?
Bitte beachten Sie, dass es bei meiner Frage nicht um Exploits geht.
Lösung
Das ist richtig.Die einzige Möglichkeit für einen Nicht-Root-Prozess (vorausgesetzt, er führt ein Nicht-Setuid-Programm aus), Root zu werden, besteht darin, ein Setuid-Programm auszuführen.Wenn es ein set-uid-Root-Programm ausführt, ist seine effektive UID root und die echte UID ist derjenige, der es ausgeführt hat.Es kann dann setuid(0) ausführen, um seine echte UID auf 0 zu setzen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow