Inhaltsverzeichnis
Was ist Chroot unter Linux? " >Was ist Chroot unter Linux?
Was ist ein Chroot-Gefängnis? " >Was ist ein Chroot-Gefängnis?
So erstellen Sie ein Chroot-Gefängnis und führen darin Programme aus" >So erstellen Sie ein Chroot-Gefängnis und führen darin Programme aus
如何逃离chroot监狱" >如何逃离chroot监狱
现在你应该对 Linux 中的 chroot 了如指掌了" >现在你应该对 Linux 中的 chroot 了如指掌了
Heim System-Tutorial LINUX chroot-Befehl unter Linux: So führen Sie Anwendungen in einem isolierten Bereich aus und testen sie

chroot-Befehl unter Linux: So führen Sie Anwendungen in einem isolierten Bereich aus und testen sie

Feb 12, 2024 pm 12:12 PM
linux linux教程 linux系统 linux命令 shell脚本 eingebettetes Linux Erste Schritte mit Linux Linux-Lernen

Wenn Sie ein Linux-Enthusiast sind, müssen Sie möglicherweise häufig verschiedene Anwendungen oder Dienste auf Ihrem System installieren oder deinstallieren. Aber wussten Sie, dass jede Anwendung oder jeder Dienst von einigen gemeinsam genutzten Objektdateien abhängt, die von anderen Softwarepaketen bereitgestellt werden? Wenn diese Objektdateien fehlen oder beschädigt sind, funktioniert Ihre Anwendung oder Ihr Dienst möglicherweise nicht ordnungsgemäß oder startet überhaupt nicht. Daher ist das Wissen, wie man Anwendungen oder Dienste in einem isolierten Raum ausführt und testet, eine sehr nützliche Fähigkeit, die Ihnen bei der Wartung und Optimierung Ihres Linux-Systems helfen kann. In diesem Artikel wird ein leistungsstarkes Befehlszeilentool namens chroot vorgestellt, mit dem Sie eine unabhängige Umgebung unter Linux erstellen und darin Anwendungen oder Dienste ausführen und testen können.

Was ist Chroot unter Linux?

Lassen Sie uns Chroot im Detail erkunden, seine Vorteile und Nutzungsszenarien verstehen, wie man es auf einem Linux-System einrichtet und wie man bei Bedarf aus der Umgebung herauskommt (chrooten kann).

chroot ist Change-Root, wohl eine der einfachsten und ältesten Containerisierungssoftware, die es Benutzern ermöglicht, Anwendungen und Dienste sicher zu isolieren. In der Informatik bedeutet Isolation die Beschränkung eines Programms auf einen begrenzten Raum mit vordefinierten Ressourcen.

Wenn Sie mit Docker und seiner Funktionsweise vertraut sind, können Sie sich Chroot als eine stark vereinfachte Version davon vorstellen. chroot bietet eine zusätzliche Isolations- und Sicherheitsebene, indem es das Stammverzeichnis eines Programms ändert und so den Zugriff und die Sichtbarkeit einschränkt.

Grundsätzlich erstellen Sie ein separates Verzeichnis, kopieren alle Abhängigkeiten Ihres Programms in das neue Verzeichnis und führen dann den Befehl chroot aus. Dadurch können Programme normal ausgeführt werden, während der Zugriff auf das zugrunde liegende Dateisystem verloren geht.

Das Einrichten eines Programms als Chroot-Umgebung ist eine großartige Möglichkeit, seine Zuverlässigkeit an einem sicheren Ort zu testen, ohne die Dateien des tatsächlichen Systems zu ändern. Darüber hinaus können Sie in einer Chroot-Umgebung die durch kompromittierte Softwarepakete verursachten Sicherheitsrisiken verringern, da kompromittierte Softwarepakete in einer Chroot-Umgebung nicht auf vertrauliche Systemdateien zugreifen und diese ändern können.

Das Programm kann nur auf Dateien zugreifen und diese anzeigen, die in das Chroot-Verzeichnis, auch „Chroot-Gefängnis“ genannt, importiert wurden. Dadurch wird verhindert, dass das Programm und seine untergeordneten Prozesse den Betrieb des zugrunde liegenden Systems beeinträchtigen.

Was ist ein Chroot-Gefängnis?

Ein Chroot-Gefängnis ist eine isolierte Umgebung, in der Chroot-Programme laufen und ausgeführt werden. Der Begriff „Chroot-Jail“ geht auf das Konzept zurück, dass Prozesse und ihre untergeordneten Prozesse innerhalb einer Chroot-Umgebung nicht auf das zugrunde liegende Dateisystem zugreifen oder es anzeigen können und auf die für die Chroot reservierten Ressourcen beschränkt sind.

Da Sie nun ein klares Verständnis des Chroot-Konzepts haben, können wir uns an die Arbeit machen und lernen, wie man ein Chroot-Gefängnis erstellt und darin Programme ausführt.

So erstellen Sie ein Chroot-Gefängnis und führen darin Programme aus

Ein Chroot-Gefängnis ist im Wesentlichen ein Verzeichnis, das alle Ressourcen, Dateien, Binärdateien und anderen Abhängigkeiten enthält, die ein Programm benötigt, um ordnungsgemäß ausgeführt zu werden.

Im Gegensatz zu einer normalen Linux-Umgebung ist die Umgebung eines Chroot-Gefängnisses jedoch streng eingeschränkt und das Programm kann nicht auf externe oder zusätzliche Dateien und Systemressourcen zugreifen.

Um beispielsweise eine Bash-Shell in einem Chroot-Gefängnis auszuführen, müssen Sie die Bash-Binärdatei und alle ihre Abhängigkeiten in das Chroot-Verzeichnis kopieren.

Hier sind die Schritte zum Erstellen eines Chroot-Gefängnisses und zum Generieren einer Bash-Shell:

1. Um ein Programm erfolgreich auszuführen, müssen Sie alle seine Abhängigkeiten in das Verzeichnis des Chroot-Gefängnisses kopieren. Verwenden wir die Befehle which und ldd, um den Speicherort der Binärdatei (in diesem Fall Bash) und aller ihrer Abhängigkeiten zu ermitteln:

1

2

3

4

5

6

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]

└─$ which bash

/usr/bin/bash

                                                                            

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]

└─$ ldd /usr/bin/bash

Nach dem Login kopieren
chroot-Befehl unter Linux: So führen Sie Anwendungen in einem isolierten Bereich aus und testen sie

2. Da Sie nun den Speicherort der Binärdateien und ihre Abhängigkeiten kennen, kopieren Sie sie in das Verzeichnis, das Sie in ein Chroot-Gefängnis konvertieren möchten. Verwenden Sie den Befehl mkdir, um die erforderlichen Verzeichnisse zu erstellen, und den Befehl cp, um alle Dateien in die entsprechenden Verzeichnisse zu kopieren:

1

mkdir bin lib lib64 && cp -r /lib/ * ./lib && cp -r /lib64/* ./lib64/ && cp /bin/bash /bin/

Nach dem Login kopieren
chroot-Befehl unter Linux: So führen Sie Anwendungen in einem isolierten Bereich aus und testen sie

3、最后,当程序和它的依赖项复制完成后,你可以使用 sudo 前缀以提升的权限运行 chroot 命令,在所选择的目录中生成 chroot 环境。默认情况下,它将生成一个Bash shell。下面是要输入的命令:

1

linuxmi@linuxmi:~$ sudo chroot www.linuxmi.com

Nach dem Login kopieren
chroot-Befehl unter Linux: So führen Sie Anwendungen in einem isolierten Bereich aus und testen sie

这就是生成chroot监狱并在其中运行程序的所有步骤。

如何逃离chroot监狱

虽然 chroot 监狱对于测试不稳定的软件很有用,但在处理 SSH 连接时也很有用,因为将连接的用户设置为 chroot 环境是保护 SSH 服务器的众多方法之一。

另一方面,如果你是一名渗透测试人员,并且已登录到目标的 SSH 服务器,发现它是一个 chroot 环境,可能会感到沮丧,感觉走投无路。

然而,有很多方法可以逃离错误配置的 chroot 狱,有些方法需要 C 编程技巧,而其他方法可以使用工具自动化。一些简单的 chroot 逃逸方法包括:

  • 嵌套的 chroot 调用
  • 带有保存的文件描述符的嵌套 chroot 调用
  • 根目录挂载方法
  • procfs 逃逸
  • ptrace 逃逸

请注意,要使用这些方法之一进行 chroot 逃逸,你需要在系统中具有升级的特权。通过访问 chw00t 的 GitHub 存储库,你可以了解更多关于这些逃逸方法的信息,那是一个 chroot 逃逸自动化工具。

现在你应该对 Linux 中的 chroot 了如指掌了

通过本文的介绍,我们了解了chroot是什么、它是如何工作的以及如何实现它,我们还学习了如何创建chroot监狱并在其中执行应用程序或服务,以及如何逃离chroot监狱。chroot是一个简单而强大的工具,可以让你在安全和隔离的空间中运行和测试应用程序或服务。请记住,chroot并不是一个完美的安全解决方案,它有一些局限性和缺陷,因此你应该谨慎地使用它,并结合其他的沙盒或虚拟化技术来提高你的系统的安全性和稳定性。

Das obige ist der detaillierte Inhalt vonchroot-Befehl unter Linux: So führen Sie Anwendungen in einem isolierten Bereich aus und testen sie. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So starten Sie Apache So starten Sie Apache Apr 13, 2025 pm 01:06 PM

Die Schritte zum Starten von Apache sind wie folgt: Installieren Sie Apache (Befehl: sudo apt-Get-Get-Installieren Sie Apache2 oder laden Sie ihn von der offiziellen Website herunter). (Optional, Linux: sudo systemctl

Was tun, wenn der Port Apache80 belegt ist Was tun, wenn der Port Apache80 belegt ist Apr 13, 2025 pm 01:24 PM

Wenn der Port -80 -Port der Apache 80 besetzt ist, lautet die Lösung wie folgt: Finden Sie den Prozess, der den Port einnimmt, und schließen Sie ihn. Überprüfen Sie die Firewall -Einstellungen, um sicherzustellen, dass Apache nicht blockiert ist. Wenn die obige Methode nicht funktioniert, konfigurieren Sie Apache bitte so, dass Sie einen anderen Port verwenden. Starten Sie den Apache -Dienst neu.

So überwachen Sie die NGINX SSL -Leistung auf Debian So überwachen Sie die NGINX SSL -Leistung auf Debian Apr 12, 2025 pm 10:18 PM

In diesem Artikel wird beschrieben, wie die SSL -Leistung von NGINX -Servern auf Debian -Systemen effektiv überwacht wird. Wir werden Nginxexporter verwenden, um Nginx -Statusdaten in Prometheus zu exportieren und sie dann visuell über Grafana anzeigen. Schritt 1: Konfigurieren von Nginx Erstens müssen wir das Modul stub_status in der nginx -Konfigurationsdatei aktivieren, um die Statusinformationen von Nginx zu erhalten. Fügen Sie das folgende Snippet in Ihre Nginx -Konfigurationsdatei hinzu (normalerweise in /etc/nginx/nginx.conf oder deren inklusive Datei): location/nginx_status {stub_status

So richten Sie im Debian -System einen Recyclingbehälter ein So richten Sie im Debian -System einen Recyclingbehälter ein Apr 12, 2025 pm 10:51 PM

In diesem Artikel werden zwei Methoden zur Konfiguration eines Recycling -Bin in einem Debian -System eingeführt: eine grafische Schnittstelle und eine Befehlszeile. Methode 1: Verwenden Sie die grafische Schnittstelle Nautilus, um den Dateimanager zu öffnen: Suchen und starten Sie den Nautilus -Dateimanager (normalerweise als "Datei") im Menü Desktop oder Anwendungen. Suchen Sie den Recycle Bin: Suchen Sie nach dem Ordner recycelner Behälter in der linken Navigationsleiste. Wenn es nicht gefunden wird, klicken Sie auf "Andere Speicherort" oder "Computer", um sie zu suchen. Konfigurieren Sie Recycle Bin-Eigenschaften: Klicken Sie mit der rechten Maustaste auf "Recycle Bin" und wählen Sie "Eigenschaften". Im Eigenschaftenfenster können Sie die folgenden Einstellungen einstellen: Maximale Größe: Begrenzen Sie den im Recycle -Behälter verfügbaren Speicherplatz. Aufbewahrungszeit: Legen Sie die Erhaltung fest, bevor die Datei automatisch im Recyclingbehälter gelöscht wird

So starten Sie den Apache -Server neu So starten Sie den Apache -Server neu Apr 13, 2025 pm 01:12 PM

Befolgen Sie die folgenden Schritte, um den Apache -Server neu zu starten: Linux/MacOS: Führen Sie sudo systemCTL RESTART APache2 aus. Windows: Net Stop Apache2.4 und dann Net Start Apache2.4 ausführen. Führen Sie Netstat -a | Findstr 80, um den Serverstatus zu überprüfen.

So optimieren Sie die Leistung von Debian Readdir So optimieren Sie die Leistung von Debian Readdir Apr 13, 2025 am 08:48 AM

In Debian -Systemen werden Readdir -Systemaufrufe zum Lesen des Verzeichnisinhalts verwendet. Wenn seine Leistung nicht gut ist, probieren Sie die folgende Optimierungsstrategie aus: Vereinfachen Sie die Anzahl der Verzeichnisdateien: Teilen Sie große Verzeichnisse so weit wie möglich in mehrere kleine Verzeichnisse auf und reduzieren Sie die Anzahl der gemäß Readdir -Anrufe verarbeiteten Elemente. Aktivieren Sie den Verzeichnis -Inhalt Caching: Erstellen Sie einen Cache -Mechanismus, aktualisieren Sie den Cache regelmäßig oder bei Änderungen des Verzeichnisinhalts und reduzieren Sie häufige Aufrufe an Readdir. Speicher -Caches (wie Memcached oder Redis) oder lokale Caches (wie Dateien oder Datenbanken) können berücksichtigt werden. Nehmen Sie eine effiziente Datenstruktur an: Wenn Sie das Verzeichnis -Traversal selbst implementieren, wählen Sie effizientere Datenstrukturen (z.

Wie Debian Readdir sich in andere Tools integriert Wie Debian Readdir sich in andere Tools integriert Apr 13, 2025 am 09:42 AM

Die Readdir -Funktion im Debian -System ist ein Systemaufruf, der zum Lesen des Verzeichnisgehalts verwendet wird und häufig in der C -Programmierung verwendet wird. In diesem Artikel wird erläutert, wie Readdir in andere Tools integriert wird, um seine Funktionalität zu verbessern. Methode 1: Kombinieren Sie C -Sprachprogramm und Pipeline zuerst ein C -Programm, um die Funktion der Readdir aufzurufen und das Ergebnis auszugeben:#include#include#includeIntmain (intargc, char*argv []) {Dir*Dir; structDirent*Eintrag; if (argc! = 2) {{

Wie man Debian Syslog lernt Wie man Debian Syslog lernt Apr 13, 2025 am 11:51 AM

In diesem Leitfaden werden Sie erfahren, wie Sie Syslog in Debian -Systemen verwenden. Syslog ist ein Schlüsseldienst in Linux -Systemen für Protokollierungssysteme und Anwendungsprotokollnachrichten. Es hilft den Administratoren, die Systemaktivitäten zu überwachen und zu analysieren, um Probleme schnell zu identifizieren und zu lösen. 1. Grundkenntnisse über syslog Die Kernfunktionen von Syslog umfassen: zentrales Sammeln und Verwalten von Protokollnachrichten; Unterstützung mehrerer Protokoll -Ausgabesformate und Zielorte (z. B. Dateien oder Netzwerke); Bereitstellung von Echtzeit-Protokoll- und Filterfunktionen. 2. Installieren und Konfigurieren von Syslog (mit Rsyslog) Das Debian -System verwendet standardmäßig Rsyslog. Sie können es mit dem folgenden Befehl installieren: sudoaptupdatesud

See all articles