Linux の chroot コマンド: 隔離された空間でアプリケーションを実行およびテストする方法
Linux 愛好家であれば、システムにさまざまなアプリケーションやサービスをインストールまたはアンインストールすることが必要になることがよくあります。しかし、すべてのアプリケーションやサービスは、他のソフトウェア パッケージによって提供される共有オブジェクト ファイルに依存していることをご存知ですか?これらのオブジェクト ファイルが見つからないか破損している場合、アプリケーションやサービスが正しく動作しないか、起動できない可能性があります。したがって、隔離された空間でアプリケーションやサービスを実行およびテストする方法を知ることは、Linux システムの保守と最適化に役立つ非常に便利なスキルです。この記事では、chroot と呼ばれる強力なコマンド ライン ツールを紹介します。このツールを使用すると、Linux 上に独立した環境を作成し、その中でアプリケーションやサービスを実行およびテストできます。
Linux の chroot とは何ですか?
chroot を詳しく調べて、その利点、使用シナリオ、Linux システム上でのセットアップ方法、必要に応じて環境から抜け出す (chroot) 方法を理解しましょう。
chroot は、change-root であり、おそらく最も単純かつ最も古いコンテナ化ソフトウェアの 1 つであり、ユーザーがアプリケーションとサービスを安全に分離できるようにします。コンピューティング用語で言えば、分離とは、事前に定義されたリソースを備えた制限された空間にプログラムを閉じ込めることです。
Docker とその仕組みに精通している場合は、chroot をその大幅に簡略化したバージョンと考えることができます。 chroot は、プログラムのルート ディレクトリを変更し、アクセスと可視性を制限することにより、分離とセキュリティの追加層を提供します。
基本的には、別のディレクトリを作成し、プログラムのすべての依存関係を新しいディレクトリにコピーして、chroot コマンドを実行します。これにより、基盤となるファイル システムにアクセスできなくなっても、プログラムは通常どおり実行できます。
プログラムを chroot 環境としてセットアップすることは、実際のシステムのファイルを変更せずに、安全な場所でその信頼性をテストする良い方法です。さらに、chroot 環境では、侵害されたソフトウェア パッケージが機密システム ファイルにアクセスして変更することができないため、侵害されたソフトウェア パッケージによって引き起こされるセキュリティ リスクを軽減できます。
プログラムは、chroot ディレクトリ (「chrootjail」とも呼ばれる) にインポートされたファイルにのみアクセスして表示できます。これにより、プログラムとその子プロセスが基盤となるシステムの動作に干渉するのを防ぎます。
chroot 刑務所とは何ですか?
chroot ジェイルは、chroot プログラムが実行される隔離された環境です。 chrootjail という用語は、chroot 環境内のプロセスとその子プロセスが基礎となるファイル システムにアクセスしたり表示したりすることができず、chroot 用に予約されたリソースに制限されるという概念に由来しています。
chroot の概念を明確に理解したところで、実際に chroot ジェイルを作成し、その中でプログラムを実行する方法を学びましょう。
chroot ジェイルを作成してその中でプログラムを実行する方法
chroot ジェイル (chroot ジェイル) は、本質的には、プログラムが適切に実行されるために必要なすべてのリソース、ファイル、バイナリ、およびその他の依存関係が含まれるディレクトリです。
ただし、通常の Linux 環境とは異なり、chroot ジェイルの環境は厳しく制限されており、プログラムは外部または追加のファイルやシステム リソースにアクセスできません。
たとえば、chroot ジェイルで Bash シェルを実行するには、Bash バイナリとそのすべての依存関係を chroot ディレクトリにコピーする必要があります。
以下は、chrootjail を作成し、Bash シェルを生成する手順です:
1. プログラムを正常に実行するには、そのすべての依存関係を chroot ジェイルのディレクトリにコピーする必要があります。 where および ldd コマンドを使用して、バイナリ (この場合は Bash) とそのすべての依存関係の場所を見つけてみましょう。 リーリー

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

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

这就是生成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并不是一个完美的安全解决方案,它有一些局限性和缺陷,因此你应该谨慎地使用它,并结合其他的沙盒或虚拟化技术来提高你的系统的安全性和稳定性。
以上がLinux の chroot コマンド: 隔離された空間でアプリケーションを実行およびテストする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

楽なフラットパック管理のためのGUI:倉庫の紹介 フラットパックアプリケーションの成長コレクションを管理することは、コマンドラインのみを使用して面倒です。 フラットパックを合理化するように設計されたユーザーフレンドリーなグラフィカルインターフェイスであるウェアハウスを入力してください

この記事では、Linuxシステムでハードドライブボトルネックを特定して解決するための包括的なガイドを提供します。 経験豊富なサーバー管理者は、これが特に便利だと感じるでしょう。遅いディスク操作は、アプリケーションのパフォーマンスに深刻な影響を与える可能性があります。

Linuxシステムの下での効率的なQRコード生成ツール 今日のデジタルの世界では、QRコードは情報を迅速かつ便利に共有し、URL、テキスト、連絡先、Wi-Fi資格情報、さらには支払い情報からのデータアクセスを簡素化する方法になりました。 Linuxユーザーは、さまざまなツールを使用して、QRコードを効率的に作成できます。 Linuxシステムで直接使用できる人気のあるQRコードジェネレーターを見てみましょう。 QRENCODE QRENCODEは、LinuxでQRコードを生成するための軽量コマンドラインツールです。それはそのシンプルさと効率性に好評であり、直接的な方法を好むLinuxユーザーに人気があります。 QRENCODEを使用して、URLを使用できます。

小学校OS 8 Circe:滑らかでスタイリッシュなLinux体験 UbuntuベースのLinux分布であるElementary OSは、シンプルなテーマパックから本格的な独立したオペレーティングシステムに進化しました。 ユーザーフレンドリーなインターフェイスであるエレガントなdeで知られています

Mastering Linuxは、あらゆる機械学習(ML)エンジニアにとって重要です。 そのコマンドラインインターフェイスは、比類のない柔軟性と制御、ワークフローの合理化、生産性の向上を提供します。この記事では、Essential Linuxコマンドの概要を説明しています

Arch Linux:初心者のコマンドラインチートシート Arch Linuxは比類のないコントロールを提供しますが、新人には気が遠くなると感じることがあります。このチートシートは、システムを自信を持って管理するための重要なコマンドを提供します。 システム情報と更新 これらのcom

このガイドは、Linux SystemsにScikit-Learn Machine Learning Libraryをインストールして使用する包括的なウォークスルーを提供します。 Scikit-Learn(Sklearn)は、さまざまなマシンL用の幅広いツールを提供する強力でオープンソースのPythonライブラリであり、

このガイドは、Kali LinuxツールにアクセスするためにDockerを活用する方法を説明します。これは、Katoolinのような時代遅れの方法に代わるより安全で効率的な代替品です。 Katoolinはもはや積極的に維持されておらず、最新のシステムで互換性の問題を引き起こす可能性があります。する


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。
