chroot

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Der Shell-Befehl chroot (change root) dient auf Unix-Systemen dazu, innerhalb der Verzeichnisstruktur 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.

Verwendung

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

$ strace -f $PROGRAM_WITH_PROBLEMS

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
Wolfgang Fuschlberger eng Howto setup a chroot-jail for ssh/scp with Linuxwbm
Wikipedia ger chrootwbm Enzyklopädischer Artikel