chroot
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 |