Chroot

chroot steht für change root und ist eine Funktion unter Unix-Systemen, um das Rootverzeichnis zu ändern. Sie wirkt sich nur auf den aktuellen Prozess und seine Kindprozesse aus. „chroot“ selbst kann sich sowohl auf den Systemaufruf chroot(2) als auch auf das Dienstprogramm chroot(8) beziehen.

Ein Programm, das auf ein Verzeichnis „gerootet“ wurde und keine offenen Dateideskriptoren im Bereich außerhalb des virtuellen Root-Verzeichnisses besitzt, kann (bei korrekter Implementierung des Betriebssystemkerns) nicht mehr auf Dateien außerhalb dieses Verzeichnisses zugreifen. chroot bietet somit eine einfache Möglichkeit, um nicht vertrauenswürdige, Test- oder sonst wie gefährliche Programme in eine Sandbox zu versetzen. Es ist ein einfacher Jail-Mechanismus, aus dem aber durchaus leicht wieder ausgebrochen werden kann.

chroot wurde nicht als Sicherheitsfeature entworfen, sondern primär für das Aufsetzen virtueller Umgebungen verwendet. Die erste größere bekannte Anwendung war in Network Software Engineering (NSE) auf SunOS im Jahr 1986. Dort war ein Verlassen der Umgebung mit fchroot(1) möglich und dokumentiert.

In der Praxis wird „Chrooting“ dadurch erschwert, dass Programme beim Start erwarten, Platz für temporäre Dateien, Konfigurationsdateien, Gerätedateien und Programmbibliotheken an bestimmten festen Orten vorzufinden. Um diese Programme innerhalb des chroot-Verzeichnisses laufen zu lassen, muss das Verzeichnis mit diesen notwendigen Dateien ausgestattet werden.


From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy