[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/wiki12\/2020\/12\/27\/chroot-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/wiki12\/2020\/12\/27\/chroot-wikipedia\/","headline":"chroot – Wikipedia","name":"chroot – Wikipedia","description":"EIN chroot Unter Unix-Betriebssystemen wird der scheinbare Stammverzeichnis f\u00fcr den aktuell ausgef\u00fchrten Prozess und seine untergeordneten Betriebssysteme ge\u00e4ndert. Ein Programm,","datePublished":"2020-12-27","dateModified":"2020-12-27","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/wiki12\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/wiki12\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":100,"height":100},"url":"https:\/\/wiki.edu.vn\/wiki12\/2020\/12\/27\/chroot-wikipedia\/","wordCount":4044,"articleBody":"EIN chroot Unter Unix-Betriebssystemen wird der scheinbare Stammverzeichnis f\u00fcr den aktuell ausgef\u00fchrten Prozess und seine untergeordneten Betriebssysteme ge\u00e4ndert. Ein Programm, das in einer solchen ge\u00e4nderten Umgebung ausgef\u00fchrt wird, kann Dateien au\u00dferhalb des angegebenen Verzeichnisbaums nicht benennen (und daher normalerweise nicht darauf zugreifen). Der Begriff “chroot” kann sich auf die beziehen chroot (2) Systemaufruf oder die chroot (8) Wrapper-Programm. Die ge\u00e4nderte Umgebung hei\u00dft a Chroot Gef\u00e4ngnis. Table of ContentsGeschichte[edit]Einschr\u00e4nkungen[edit]Grafische Anwendungen auf chroot[edit]Bemerkenswerte Anwendungen[edit]Virtuelle Dateisysteme und Konfigurationsdateien des Linux-Hostkerns[edit]Siehe auch[edit]Verweise[edit]Externe Links[edit]Geschichte[edit]Der Aufruf des Chroot-Systems wurde 1979 w\u00e4hrend der Entwicklung von Version 7 Unix eingef\u00fchrt. Einer Quelle zufolge hat Bill Joy ihn am 18. M\u00e4rz 1982 – 17 Monate vor der Ver\u00f6ffentlichung von 4.2BSD – hinzugef\u00fcgt, um das Installations- und Build-System zu testen.[1]Es stellte sich heraus, dass beim Interpretieren von SCCS-Dateien f\u00fcr Code, der sich im Kernel bewegte, ein Fehler aufgetreten ist. Alle Versionen von BSD, die einen Kernel hatten, haben chroot (2).[2][3] Eine fr\u00fche Verwendung des Begriffs “Gef\u00e4ngnis” f\u00fcr Chroot stammt von Bill Cheswick, der 1991 einen Honigtopf zur \u00dcberwachung eines Crackers schuf.[4]Der erste Artikel \u00fcber einen Jailbreak wurde in der Sicherheitsspalte von SunWorld Online diskutiert, die von Carole Fennelly geschrieben wurde. Die Ausgaben von August 1999 und Januar 1999 decken die meisten chroot () – Themen ab.[5] Um es f\u00fcr die Virtualisierung n\u00fctzlich zu machen, hat FreeBSD das Konzept erweitert und in seiner Version 4.0 im Jahr 2000 den Befehl jail eingef\u00fchrt.[6]Bis 2002 wurde in einem Artikel von Nicolas Boiteux beschrieben, wie man unter Linux ein Gef\u00e4ngnis erstellt [7]Bis 2003 bieten erste Internet-Microservices-Anbieter mit Linux-Jails SAAS \/ PAAS-Dienste (Shell-Container, Proxy, IRCD, Bots, …) an, die f\u00fcr den Verbrauch im Gef\u00e4ngnis in Rechnung gestellt werden[8]Bis 2005 ver\u00f6ffentlichte Sun Solaris-Container (auch als Solaris-Zonen bekannt), die als “Chroot on Steroids” bezeichnet werden.[9] Bis 2008 \u00fcbernahm LXC (auf dem Docker sp\u00e4ter aufgebaut wurde) die Terminologie “Container”[10] und gewann 2013 an Popularit\u00e4t, da Benutzer-Namespaces in den Linux-Kernel 3.8 aufgenommen wurden.[11]Eine Chroot-Umgebung kann verwendet werden, um eine separate virtualisierte Kopie des Softwaresystems zu erstellen und zu hosten. Dies kann n\u00fctzlich sein f\u00fcr:Testen und EntwickelnIn der Chroot kann eine Testumgebung f\u00fcr Software eingerichtet werden, deren Bereitstellung auf einem Produktionssystem ansonsten zu riskant w\u00e4re.Abh\u00e4ngigkeitskontrolleSoftware kann in einer Chroot entwickelt, erstellt und getestet werden, die nur mit den erwarteten Abh\u00e4ngigkeiten gef\u00fcllt ist. Dies kann einige Arten von Verkn\u00fcpfungsversatz verhindern, die sich aus Entwicklern ergeben k\u00f6nnen, die Projekte mit verschiedenen installierten Programmbibliotheken erstellen.Kompatibilit\u00e4tLegacy-Software oder Software, die ein anderes ABI verwendet, muss manchmal in einer Chroot ausgef\u00fchrt werden, da ihre unterst\u00fctzenden Bibliotheken oder Datendateien andernfalls im Namen oder in der Verkn\u00fcpfung mit denen des Host-Systems kollidieren k\u00f6nnen.WiederherstellungSollte ein System nicht mehr bootf\u00e4hig sein, kann ein Chroot verwendet werden, um nach dem Bootstrapping von einem alternativen Root-Dateisystem (z. B. von einem Installationsmedium oder einer Live-CD) wieder in die besch\u00e4digte Umgebung zur\u00fcckzukehren.PrivilegientrennungProgramme d\u00fcrfen offene Dateideskriptoren (f\u00fcr Dateien, Pipelines und Netzwerkverbindungen) in die Chroot-Datei \u00fcbertragen. Dies kann das Jail-Design vereinfachen, da keine Arbeitsdateien im Chroot-Verzeichnis verbleiben m\u00fcssen. Dies vereinfacht auch die \u00fcbliche Anordnung, die potenziell anf\u00e4lligen Teile eines privilegierten Programms in einer Sandbox auszuf\u00fchren, um eine Sicherheitsverletzung vorbeugend einzud\u00e4mmen. Beachten Sie, dass chroot nicht unbedingt ausreicht, um einen Prozess mit Root-Rechten zu enthalten.Einschr\u00e4nkungen[edit]Der Chroot-Mechanismus soll nicht gegen vors\u00e4tzliche Manipulationen durch privilegierte (Root-) Benutzer sch\u00fctzen. Auf den meisten Systemen werden Chroot-Kontexte nicht richtig gestapelt, und Chroot-Programme mit ausreichenden Berechtigungen f\u00fchren m\u00f6glicherweise eine aus zweite chroot ausbrechen. Um das Risiko dieser Sicherheitsl\u00fccke zu verringern, sollten Chrooted-Programme Root-Berechtigungen so bald wie m\u00f6glich nach dem Chrooting aufgeben oder stattdessen andere Mechanismen – wie z. B. FreeBSD-Jails – verwenden. Beachten Sie, dass einige Systeme, wie z. B. FreeBSD, Vorkehrungen treffen, um den zweiten Chroot-Angriff zu verhindern.[12]Auf Systemen, die Ger\u00e4teknoten auf normalen Dateisystemen unterst\u00fctzen, kann ein Root-Benutzer mit Ger\u00e4te weiterhin Ger\u00e4teknoten erstellen und die Dateisysteme auf diesen bereitstellen. Daher ist der Chroot-Mechanismus nicht f\u00fcr sich genommen dazu gedacht, den Zugriff von privilegierten Benutzern auf Systemger\u00e4te auf niedriger Ebene zu blockieren. Es ist nicht beabsichtigt, die Verwendung von Ressourcen wie E \/ A, Bandbreite, Speicherplatz oder CPU-Zeit einzuschr\u00e4nken. Die meisten Unixe sind nicht vollst\u00e4ndig dateisystemorientiert und lassen potenziell st\u00f6rende Funktionen wie Netzwerk und Prozesssteuerung \u00fcber die Systemaufrufschnittstelle f\u00fcr ein Chroot-Programm verf\u00fcgbar.Beim Start erwarten Programme, dass sie an bestimmten voreingestellten Speicherorten Arbeitsbereich, Konfigurationsdateien, Ger\u00e4teknoten und gemeinsam genutzte Bibliotheken finden. Damit ein Chroot-Programm erfolgreich gestartet werden kann, muss das Chroot-Verzeichnis mit einem Mindestsatz dieser Dateien gef\u00fcllt sein. Dies kann die Verwendung von Chroot als allgemeiner Sandboxmechanismus erschweren.Nur der Root-Benutzer kann eine Chroot ausf\u00fchren. Dies soll verhindern, dass Benutzer ein Setuid-Programm in ein speziell gestaltetes Chroot-Gef\u00e4ngnis einf\u00fcgen (z. B. mit einer F\u00e4lschung) \/ etc \/ passwd und \/ etc \/ shadow Datei), die es in eine Privilegieneskalation t\u00e4uschen w\u00fcrde.Einige Unixe bieten Erweiterungen des Chroot-Mechanismus, um zumindest einige dieser Einschr\u00e4nkungen zu beheben (siehe Implementierungen der Virtualisierungstechnologie auf Betriebssystemebene).Grafische Anwendungen auf chroot[edit]Es ist m\u00f6glich, grafische Anwendungen in einer Chroot-Umgebung auszuf\u00fchren, indem Sie folgende Methoden anwenden:[13][14]Verwenden Sie xhost (oder kopieren Sie das Geheimnis von .Xauthority)Verschachtelte X-Server wie Xnest oder der modernere Xephyr (oder starten Sie einen echten X-Server aus dem Gef\u00e4ngnis heraus)Zugriff auf die Chroot \u00fcber SSH mithilfe der X11-Weiterleitungsfunktion (ssh-X)xchroot eine erweiterte Version von chroot f\u00fcr Benutzer und Xorg \/ X11-Weiterleitung (socat \/ mount)Ein X11-VNC-Server, der einen VNC-Client au\u00dferhalb der Umgebung verbindet.Bemerkenswerte Anwendungen[edit]Der Postfix-Mail-Transfer-Agent fungiert als Pipeline von einzeln erstellten Hilfsprogrammen.Wie zuvor 4.2BSD verwenden die internen Paketbau-Farmen von Debian und Ubuntu Chroots ausgiebig, um unbeabsichtigte Build-Abh\u00e4ngigkeiten zwischen Paketen abzufangen. SUSE verwendet eine \u00e4hnliche Methode mit seiner bauen Programm. Fedora, Red Hat und verschiedene RPM-basierte Distributionen erstellen alle RPMs mit einem Chroot-Tool wie z spotten.Viele FTP-Server f\u00fcr POSIX-Systeme verwenden den Chroot-Mechanismus, um nicht vertrauensw\u00fcrdige FTP-Clients zu sandboxen. Dies kann durch Verzweigen eines Prozesses zur Verarbeitung einer eingehenden Verbindung und anschlie\u00dfendes Chrooten des untergeordneten Elements erfolgen (um zu vermeiden, dass das Chroot mit Bibliotheken gef\u00fcllt werden muss, die f\u00fcr den Programmstart erforderlich sind).Wenn die Berechtigungstrennung aktiviert ist, protokolliert der OpenSSH-D\u00e4mon einen nicht privilegierten Hilfsprozess in ein leeres Verzeichnis, um den Netzwerkverkehr vor der Authentifizierung f\u00fcr jeden Client zu verarbeiten. Der Daemon kann auch SFTP- und Shell-Sitzungen in einer Chroot-Datei boxen (ab Version 4.9p1).[15]Chrome OS kann eine Chroot verwenden, um eine Linux-Instanz mit Crouton auszuf\u00fchren.[16] Bereitstellung eines ansonsten d\u00fcnnen Betriebssystems mit Zugriff auf Hardwareressourcen. Die Sicherheitsaspekte in diesem Artikel gelten hier.Virtuelle Dateisysteme und Konfigurationsdateien des Linux-Hostkerns[edit]Um eine funktionierende Chroot-Umgebung unter Linux zu haben, m\u00fcssen die virtuellen Kernel-Dateisysteme und Konfigurationsdateien auch vom Host zum Chroot gemountet \/ kopiert werden.# Mount Kernel Virtual File SystemsTARGETDIR=\"\/mnt\/chroot\"mount -t proc proc $TARGETDIR\/procmount -t sysfs sysfs $TARGETDIR\/sysmount -t devtmpfs devtmpfs $TARGETDIR\/devmount -t tmpfs tmpfs $TARGETDIR\/dev\/shmmount -t devpts devpts $TARGETDIR\/dev\/pts# Copy \/etc\/hosts\/bin\/cp -f \/etc\/hosts $TARGETDIR\/etc\/# Copy \/etc\/resolv.conf \/bin\/cp -f \/etc\/resolv.conf $TARGETDIR\/etc\/resolv.conf# Link \/etc\/mtabchroot $TARGETDIR rm \/etc\/mtab 2> \/dev\/null chroot $TARGETDIR ln -s \/proc\/mounts \/etc\/mtabSiehe auch[edit]Verweise[edit]^ “Gef\u00e4ngnis, Abschnitt 9”. docs.freebsd.org.^ Losh, Warner (2. Februar 2000). “Warners Random Hacking Blog: Wohin chroot?”.^ “Dateninfrastrukturen f\u00fcr den Rest von uns – III – Software”.^ Cheswick, Bill (1991). “Ein Abend mit Berferd: In dem ein Cracker gelockt, ausgehalten und studiert wird” (PDF). USENIX Summer Conference Proceedings, Band 1. USENIX. San Francisco, Kalifornien: Die Vereinigung. p. 163.^ Carole, Fennelly. “Escap Chroot”. SunWorld Online. Carole Fennelly. Archiviert von das Original am 09.01.2000.^ Riondato, Matteo. “FreeBSD Handbuch” Gef\u00e4ngnisse “Kapitel”. freebsd.org. Das FreeBSD-Projekt. Abgerufen 2018-10-30.^ Nicolas, Boiteux. “Chroot Shell”. lycos.fr. Nicolas Boiteux. Archiviert von das Original am 14.10.2002. Abgerufen 24. M\u00e4rz 2018.^ “Girafon”. girafon.org. Girafon. Archiviert von das Original am 12.06.2004. Abgerufen 24. M\u00e4rz 2018.^ Schmidt, Klaus (02.09.2006). Hochverf\u00fcgbarkeit und Notfallwiederherstellung: Konzepte, Design, Implementierung. Springer Science & Business Media. p. 186. ISBN 9783540345824. Abgerufen 2014-08-21.^ “SourceForge LXC Dateien herunterladen”. sourceforge.net. Abgerufen 2014-08-21.^ Rosen, Rami (26.03.2014). “Linux-Container und die zuk\u00fcnftige Cloud” (PDF). Abgerufen 2014-08-21.^ chroot (2). www.freebsd.org.^ “Entwicklung \/ Howto \/ Chroot”. Mandriva Wiki. 25. Juli 2011. Archiviert von das Original am 26.03.2014.^ “Archivierte Kopie”. Archiviert von das Original am 31.08.2011. Abgerufen 2011-10-13.CS1-Wartung: Archivierte Kopie als Titel (Link)^ “sshd_config (5) Handbuchseite”. 2017-10-26. Abgerufen 2018-02-04.^ “Chromium OS Universal Chroot Environment (auf Github)”. Abgerufen 2016-12-17.Externe Links[edit]"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki12\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki12\/2020\/12\/27\/chroot-wikipedia\/#breadcrumbitem","name":"chroot – Wikipedia"}}]}]