Rumah> Tutorial sistem> LINUX> teks badan

arahan chroot pada Linux: Cara menjalankan dan menguji aplikasi dalam ruang terpencil

PHPz
Lepaskan: 2024-02-12 12:12:03
ke hadapan
852 orang telah melayarinya

Jika anda seorang peminat Linux, anda mungkin sering perlu memasang atau menyahpasang pelbagai aplikasi atau perkhidmatan pada sistem anda. Tetapi, adakah anda tahu bahawa setiap aplikasi atau perkhidmatan bergantung pada beberapa fail objek kongsi yang disediakan oleh pakej perisian lain? Jika fail objek ini hilang atau rosak, aplikasi atau perkhidmatan anda mungkin tidak berfungsi dengan betul atau pun bermula. Oleh itu, mengetahui cara menjalankan dan menguji aplikasi atau perkhidmatan dalam ruang terpencil adalah kemahiran yang sangat berguna yang boleh membantu anda mengekalkan dan mengoptimumkan sistem Linux anda. Artikel ini akan memperkenalkan alat baris arahan berkuasa yang dipanggil chroot, yang membolehkan anda mencipta persekitaran bebas pada Linux dan menjalankan serta menguji aplikasi atau perkhidmatan di dalamnya.

Apakah itu chroot dalam Linux?

Mari kita terokai chroot secara terperinci, fahami faedahnya, senario penggunaan, cara menyediakannya pada sistem Linux dan cara keluar dari (chroot) persekitaran jika perlu.

chroot ialah change-root, boleh dikatakan salah satu perisian kontena termudah dan tertua, yang membolehkan pengguna mengasingkan aplikasi dan perkhidmatan dengan selamat. Dalam istilah pengkomputeran, pengasingan ialah kurungan program ke dalam ruang terhad, dengan sumber yang telah ditetapkan.

Jika anda biasa dengan Docker dan cara ia berfungsi, anda boleh menganggap chroot sebagai versi yang sangat dipermudahkan. chroot menyediakan lapisan pengasingan dan keselamatan tambahan dengan menukar direktori akar program, mengehadkan akses dan keterlihatan.

Pada asasnya, anda mencipta direktori berasingan, menyalin semua kebergantungan program anda ke dalam direktori baharu, dan kemudian jalankan arahan chroot. Ini membolehkan program berjalan seperti biasa semasa kehilangan akses kepada sistem fail asas.

Menyediakan program sebagai persekitaran chroot ialah cara terbaik untuk menguji kebolehpercayaannya dalam ruang yang selamat tanpa mengubah fail sistem sebenar. Selain itu, dalam persekitaran chroot, anda boleh mengurangkan risiko keselamatan yang disebabkan oleh pakej perisian yang terjejas, kerana dalam persekitaran chroot, pakej perisian yang terjejas tidak akan dapat mengakses dan mengubah suai fail sistem yang sensitif.

Program ini hanya boleh mengakses dan melihat fail yang diimport ke dalam direktori chroot, juga dikenali sebagai "penjara chroot". Ini menghalang program dan proses anaknya daripada mengganggu operasi sistem asas.

Apakah itu penjara chroot?

Penjara chroot ialah persekitaran terpencil di mana program chroot dijalankan dan dilaksanakan. Istilah penjara chroot berasal daripada konsep bahawa proses dan anak mereka memproses dalam persekitaran chroot tidak dapat mengakses atau melihat sistem fail asas dan terhad kepada sumber yang dikhaskan untuk chroot.

Sekarang anda mempunyai pemahaman yang jelas tentang konsep chroot, mari kita mula belajar dan belajar cara mencipta penjara chroot dan melaksanakan program di dalamnya.

Cara membuat penjara chroot dan melaksanakan program di dalamnya

Penjara chroot pada asasnya ialah direktori yang mengandungi semua sumber, fail, binari dan kebergantungan lain yang diperlukan oleh program untuk dijalankan dengan betul.

Walau bagaimanapun, tidak seperti persekitaran Linux biasa, persekitaran penjara chroot dihadkan dengan ketat dan program tidak boleh mengakses fail luaran atau tambahan dan sumber sistem.

Sebagai contoh, untuk menjalankan shell Bash dalam penjara chroot, anda perlu menyalin binari Bash dan semua kebergantungannya ke dalam direktori chroot.

Berikut ialah langkah-langkah untuk mencipta penjara chroot dan menjana cangkerang Bash:

1. Untuk berjaya menjalankan program, anda perlu menyalin semua kebergantungannya ke direktori penjara chroot. Mari gunakan perintah which dan ldd untuk mencari lokasi binari (Bash dalam kes ini) dan semua kebergantungannya:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com] └─$ which bash /usr/bin/bash ┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com] └─$ ldd /usr/bin/bash
Salin selepas log masuk
arahan chroot pada Linux: Cara menjalankan dan menguji aplikasi dalam ruang terpencil

2 Sekarang setelah anda mengetahui lokasi binari dan kebergantungannya, salinnya ke direktori yang ingin anda tukar kepada penjara chroot. Gunakan arahan mkdir untuk mencipta direktori yang diperlukan dan arahan cp untuk menyalin semua fail ke dalam direktori yang sepadan:

mkdir bin lib lib64 && cp -r /lib/ * ./lib && cp -r /lib64/* ./lib64/ && cp /bin/bash /bin/
Salin selepas log masuk
arahan chroot pada Linux: Cara menjalankan dan menguji aplikasi dalam ruang terpencil

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

linuxmi@linuxmi:~$ sudo chroot www.linuxmi.com
Salin selepas log masuk
arahan chroot pada Linux: Cara menjalankan dan menguji aplikasi dalam ruang terpencil

这就是生成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并不是一个完美的安全解决方案,它有一些局限性和缺陷,因此你应该谨慎地使用它,并结合其他的沙盒或虚拟化技术来提高你的系统的安全性和稳定性。

Atas ialah kandungan terperinci arahan chroot pada Linux: Cara menjalankan dan menguji aplikasi dalam ruang terpencil. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lxlinux.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!