{"id":10997,"date":"2022-01-05T16:28:01","date_gmt":"2022-01-05T16:28:01","guid":{"rendered":"https:\/\/profi-tutorials.de\/linux\/?p=10997"},"modified":"2022-01-05T16:28:01","modified_gmt":"2022-01-05T16:28:01","slug":"befehl-chroot","status":"publish","type":"post","link":"https:\/\/profi-tutorials.de\/linux\/administration\/befehl-chroot\/","title":{"rendered":"Der Befehl chroot"},"content":{"rendered":"<p>In diesem Beitrag lernen Sie den Befehl chroot kennen, welcher unter Linux- \/ UNIX-Betriebssystemen eingesetzt wird, um einen Befehl oder eine interaktive Shell mit einem bestimmten Wurzelverzeichnis auszuf&uuml;hren. Als Teil des essenziellen Pakets coreutils ist chroot standardm&auml;&szlig;ig bereits auf allen Systemen vorinstalliert.<\/p>\n<p>chroot nimmt mit der &Auml;nderung des Wurzelverzeichnisses Einfluss auf den gestarteten bzw. aktuellen Prozess und seine Kindprozesse. Nach dem Setzen des Wurzelverzeichnisses eines Prozesses soll letzterer nicht mehr auf Dateien au&szlig;erhalb dieses Verzeichnisses zugreifen k&ouml;nnen, was ihn effektiv in eine Sandbox-Umgebung versetzen w&uuml;rde. Voraussetzung ist dabei, dass es keine offenen Dateideskriptoren nach Drau&szlig;en gibt. Der Ausbruch aus der Sandbox ist oft leicht m&ouml;glich &ndash; so beschreiben verschiedene Quellen etwa auch den Ausbruch des root-Benutzers aus einer chroot-Umgebung. Unter Linux wird chroot daher auch nicht als Sicherheitsfeature bezeichnet.<\/p>\n<p>Es ist zu beachten, dass die Verwendung des Befehls chroot dadurch erschwert wird, dass zu startende Programme verschiedene Dateien, wie beispielsweise Konfigurationsdateien und Programmbibliotheken, an einem festen Ort erwarten. Ist die chroot-Umgebung nicht an den richtigen Orten mit diesen Dateien ausgestattet, so kommt es zu Fehlern.<\/p>\n<h2 id=\"t-1641219581062\">Allgemeine Syntax<\/h2>\n<p>Die allgemeine <a class=\"glossaryLink cmtt_Allgemein cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Syntax&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;&#8203;Im  Allgemeinen wird unter Syntax ein Regel&#8203;system verstanden, welches zur  Kombination elementarer Zeichen zu zusammengesetzten &#8203;Zeichen in (...)&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/syntax\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Syntax<\/a> des Befehls <strong>chroot <\/strong>lautet folgenderma&szlig;en:<\/p>\n<pre>chroot [Optionen] [Wurzelverzeichnis] [Befehl [Argument(e)]]<\/pre>\n<p>Die Angabe des zu verwendenden Wurzelverzeichnisses ist notwendig. Der &Uuml;bergabe eines Befehls sowie seiner Argumente f&uuml;r die Ausf&uuml;hrung ist dagegen optional &ndash; wird kein Befehl &uuml;bergeben, so f&uuml;hrt <strong>chroot <\/strong><strong>&ldquo;${SHELL} -i&rdquo;<\/strong> aus, wobei <strong>&ldquo;${SHELL}&rdquo;<\/strong> durch den Inhalt der entsprechenden <a class=\"glossaryLink cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Umgebungsvariable&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;Eine Umgebungsvariable ist in Betriebssystemen &uuml;blicherweise eine konfigurierbare Variable, welche oft Pfade zu bestimmten Dateien aber auch(...)&lt;\/div&gt;&lt;div class=cmtt_synonyms_wrapper&gt;&lt;div class=cmtt_synonyms_title&gt;Synonyms: &lt;\/div&gt;&lt;div class=cmtt_synonyms&gt;Environment Variable&lt;\/div&gt;&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/umgebungsvariable\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Umgebungsvariablen<\/a> ersetzt wird. Die <strong>Option -i<\/strong> gibt zudem an, dass eine interaktive Shell gestartet wird.<\/p>\n<p>Der Aufruf von <strong>chroot <\/strong>erfordert <strong>root-Berechtigungen<\/strong>.<\/p>\n<h5>Beispiel: chroot ohne Optionen<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">Der Befehl <\/span>chroot <span style=\"font-weight: normal;\">wird hier ohne Optionen ausgef&uuml;hrt, um in die <\/span>Bash <span style=\"font-weight: normal;\">eines anderen, im eigenen System eingeh&auml;ngten, Linux-Systems zu wechseln. Die System-Partition letzteren Linux-Systems wurde mittels <\/span>mount <span style=\"font-weight: normal;\">unter <\/span>\/tausch<span style=\"font-weight: normal;\"> eingeh&auml;ngt.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p style=\"\"><strong>chroot <\/strong>wird hier lediglich das Wurzelverzeichnis des anderen Linux-Systems, welches in diesem Fall dem Einh&auml;ngepunkt <strong>\/tausch<\/strong> entspricht, &uuml;bergeben.<\/p>\n<p>chroot \/tausch\/<\/p>\n<h6>Ergebnis:<\/h6>\n<p>Infolge der Ausf&uuml;hrung des Befehls wird eine interaktive Shell mit dem spezifizierten Wurzelverzeichnis gestartet. Die n&ouml;tigen Programmdateien usw. bringt das eingeh&auml;ngte System bereits mit. Ein Blick nach au&szlig;en ist ohne Weiteres nicht m&ouml;glich, aber mit <strong>exit <\/strong>l&auml;sst sich die gestartete Shell wieder verlassen.<\/p>\n<h2 id=\"t-1641219581063\">Wichtige Optionen<\/h2>\n<p>In diesem Abschnitt werden die wichtigsten Optionen des Befehls <strong>chroot <\/strong>vorgestellt.<\/p>\n<h3 id=\"t-1641219581064\">&ndash;userspec &ndash; Benutzer \/ Gruppe spezifizieren<\/h3>\n<p>Benutzer und Gruppe, mit denen der Prozess gestartet wird, lassen sich mit der <strong>Option &ndash;userspec<\/strong> festlegen. Beide Angaben werden dabei als <strong>ID<\/strong> oder <strong>Name<\/strong>, wie auch bei dem Befehl <strong>chown <\/strong>&uuml;blich, durch einen <strong>Doppelpunkt &ldquo;:&rdquo;<\/strong> getrennt voneinander angegeben. Die Angabe erfolgt durch ein <strong>Gleichheitszeichen &ldquo;=&rdquo;<\/strong> getrennt direkt hinter der Option.<\/p>\n<pre>chroot --userspec=[Benutzer]:[Gruppe] [Wurzelverzeichnis] [Befehl [Argument(e)]]<\/pre>\n<h3 id=\"t-1641219581065\">&ndash;skip-chdir &ndash; Arbeitsverzeichnis nicht &auml;ndern<\/h3>\n<p>Standardm&auml;&szlig;ig wird das <strong>Arbeitsverzeichnis <\/strong>nach Ausf&uuml;hrung von <strong>chroot <\/strong>in <strong>\/<\/strong> ge&auml;ndert. Durch die <strong>Option &ndash;skip-chdir<\/strong> wird dieses Verhalten unterbunden.<\/p>\n<pre>chroot --skip-chdir [Wurzelverzeichnis] [Befehl [Argument(e)]]<\/pre>\n<p style=\"text-align: center;\">Abonniere JETZT unseren Newsletter!<\/p>\n<p style=\"text-align: center;\">Verpasse nie wieder <strong>neue<\/strong> Beitr&auml;ge und <strong>exklusive Insider-Only-Inhalte!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Beitrag lernen Sie den Befehl chroot kennen, welcher unter Linux- \/ UNIX-Betriebssystemen eingesetzt wird, um einen Befehl oder eine interaktive Shell mit einem bestimmten Wurzelverzeichnis auszuf\u00fchren. Als Teil des essenziellen Pakets coreutils ist chroot standardm\u00e4\u00dfig bereits auf allen Systemen vorinstalliert. chroot nimmt mit der \u00c4nderung des Wurzelverzeichnisses Einfluss auf den gestarteten bzw. aktuellen [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":11001,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"none","_seopress_titles_title":"%%post_title%% %%sep%% %%sitetitle%%","_seopress_titles_desc":"In diesem Beitrag lernen Sie den Befehl chroot kennen, welcher unter UNIX- \/ Linux verwendet wird, um das Wurzelverzeichnis des aktuellen Prozesses zu \u00e4ndern.","_seopress_robots_index":"","footnotes":""},"categories":[8],"tags":[],"class_list":["post-10997","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administration"],"_links":{"self":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/10997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/comments?post=10997"}],"version-history":[{"count":70,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/10997\/revisions"}],"predecessor-version":[{"id":11255,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/10997\/revisions\/11255"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media\/11001"}],"wp:attachment":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media?parent=10997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/categories?post=10997"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/tags?post=10997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}