chroot

Aus Mikiwiki
Version vom 6. Februar 2009, 15:29 Uhr von Michi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Der Shell-Befehl <b>chroot</b> (change root) dient auf Unix-Systemen dazu, das Rootverzeichnis zu ändern. Er wirkt sich nur auf den aktuellen Prozess und seine...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Der Shell-Befehl chroot (change root) dient auf Unix-Systemen dazu, das Rootverzeichnis zu ändern. Er wirkt sich nur auf den aktuellen Prozess und seine Kindprozesse aus. "chroot" selbst kann sich auf den Systemaufruf "chroot(2)" als auch das Dienstprogramm "chroot(8)" beziehen.

Ein Programm, das auf ein Verzeichnis re-rooted wurde, kann nicht mehr auf Dateien ausserhalb dieses Verzeichnisses zugreifen. Chrooting bietet somit eine einfache Möglichkeit, nicht vertrauenswürdige, Test- oder sonstwie gefährliche Programme in eine Sandbox zu versetzen. Es ist auch ein einfacher Jail-Mechanismus.

In der Praxis wird Chrooting dadurch erschwert, dass Programme beim Start erwarten, Platz für temporäre Dateien, Konfigurationsdateien, Gerätedateien und Systembibliotheken an bestimmten festen Orten zu finden. Um Programme also innerhalb des chroot-Verzeichnisses laufen lassen zu können, muss das Verzeichnis mit diesen notwendigen Dateien ausgestattet werden. Dabei ist vorsichtig vorzugehen, damit über sie nicht versehentlich Zugriff auf das restliche System ermöglicht wird.

Inhaltsverzeichnis

Verwendung

Bei Problemen mit bestimmten Programmen kann einfach strace in die chroot-Umgebung kopiert und dann aufgerufen werden.

$ strace -f $PROGRAM_WITH_PROBLEMS

Weblinks

Vorlage:dewi