Der Befehl Linux chroot

Der Befehl Linux chroot
Jeder Prozess, der auf einem Linux -System ausgeführt wird, verfügt über ein Stammverzeichnis, das Arbeitsverzeichnis. Wenn Sie das Stammverzeichnis ändern müssen, Chroot ist der Befehl zu verwenden. Die Verwendung des Befehls chroot ändert das Stammverzeichnis eines Prozesses und seiner Kinder. Das Ändern des Stammverzeichnisses verweigert außerdem, dass Sie in verschiedenen Verzeichnissen auf andere Dateien zugreifen. Der Befehl chroot ist nützlich, wenn Sie ein vergessenes Passwort zurücksetzen oder den Bootloader Ihres Systems neu installieren müssen.

Bevor Sie mit Chroot in ein anderes Verzeichnis wechseln, muss das Zielverzeichnis mit dem montiert werden montieren Befehl. Die Montage des Verzeichnisses ist auch nach dem Navigieren möglich. Es wird jedoch empfohlen, dies zu tun, bevor der Befehl chroot verwendet wird. Das modifizierte Verzeichnis heißt das Chroot Gefängnis oder Verzeichnis inhaftiert.

Die grundlegende Syntax der Verwendung des CHROOT -Befehls lautet:

$ chroot [Option] [Path-to-New] [Befehl]

Schlüssel verwendet den Befehl chroot linux:

Es gibt 3 Verwendungszwecke für den Befehl:

  • Um das Passwort für das vergessene Linux wiederherzustellen
  • Um den Bootloader neu zu installieren
  • Um eine Testumgebung zu schaffen

CHROOT -Befehlsoptionen

1. -Hilfe: Wird beim Öffnen der Help -Seite verwendet

2. -Gruppen = G_LIST: verwendet bei der Angabe ergänzender Gruppen.

3. UserSpec = Benutzer: Gruppe: verwendet bei der Angabe des Gruppennamens oder der ID.

4. -Ausführung: verwendet, um die Chroot -Version zu erhalten

Beispiel Verwendung

Um den Befehl chroot zu verwenden, beginnen Sie zunächst das Verzeichnis zum Navigieren.

$ mkdir $ home/test-jail

Hier, Test-Jail ist unser neues Verzeichnis.

Erstellen Sie als nächstes andere Verzeichnisse, Behälter Und lib64, im Test-Jail-Verzeichnis. Verwenden Sie dazu den folgenden Befehl:

$ mkdir -p $ home/test -jail/bin, lib64

Mit den erstellten Verzeichnissen können Sie jetzt durch das Verzeichnis navigieren, ohne Chroot zu verwenden.

$ CD $ HOME/Test-Jail

Für unser Beispiel werden wir das hinzufügen ls Und Behälter Befehle in das erstellte Chroot -Gefängnis mit den folgenden Befehlen:

$ cp -v/bin/bash, ls $ home/test -jail/bin

Sobald Sie die Dateien kopiert haben, müssen Sie die Abhängigkeiten für die Binärdateien hinzufügen. Verwenden Sie die Binärdateien, um die LDD und fügen Sie Binärdateien für gemeinsam genutzte Bibliotheken hinzu, wie unten gezeigt.

$ ldd /bin /bash

Die obige Ausgabe fügt Binärdateien für die Bash hinzu. Fahren Sie mit derselben Syntax für den LS für den LS hin.

$ ldd /bin /ls

Für die hinzugefügten Binärdateien müssen Sie ihre Bibliotheken kopieren. Zum Beispiel zeigt das Bild oben die Bibliotheken für die LS -Abhängigkeiten, die Sie hinzufügen sollten, um den Befehl im Chroot -Gefängnis zu verwenden.

Sie können die Bibliotheken nacheinander kopieren oder ein Bash -Skript erstellen, um alle Dateien gleichzeitig zu kopieren.

Zum Kopieren der /bin /bash -Bibliotheken können Sie beispielsweise das folgende Skript verwenden und im aktuellen Verzeichnis im Chroot -Verzeichnis ausführen.

Die folgende Syntax kopiert die Bibliotheken nacheinander.

$ cp -v [Bibliothek zu Copy] $ Home/Jail/lib64

Stellen Sie sicher, dass Sie die Bibliotheken für die LS und die Bash kopieren.

Sobald alle Bibliotheken kopiert sind, ist es an der Zeit, den Befehl chroot zu verwenden, um in unserem erstellten Chroot -Jail -Verzeichnis zu navigieren.

Hier können Sie entweder LS oder Bash verwenden. Verwenden wir die Bash mit dem Chroot, wie unten gezeigt.

$ sudo chroot $ home/test-jail/bin/bash

Dadurch werden Sie in das Chroot -Verzeichnis versetzt, aus dem Sie nicht auf andere Verzeichnisse oder Dateien außerhalb dessen zugreifen können.

Wenn Sie das Chroot -Gefängnis verlassen möchten, geben Sie ein Ausfahrt in der Befehlszeile. Schließlich navigieren Sie zum normalen Root -Verzeichnis für Ihr System.

Abschluss

Diese Anleitung behandelte den Befehl chroot und wie Sie die verschiedenen Optionen verwenden können, die er anbietet, um ein Chroot -Gefängnis zu erstellen und in ihn zu navigieren. Das Fazit ist, dass der Befehl chroot ein einfacher, aber effektiver Linux -Befehl ist. Wir haben gesehen, wie Sie es verwenden können, um virtuelle Umgebungen zu erstellen und ein Chroot -Gefängnis zu erstellen, das unabhängig vom Hauptsystem funktioniert.