Debian

Cara Menggunakan chroot di Debian 10

Cara Menggunakan chroot di Debian 10
Dalam lingkungan pengujian, kita sering kali perlu melakukan sandbox pada aplikasi tertentu untuk mencegahnya merusak atau mengintai seluruh sistem. Ada berbagai alat yang tersedia untuk membuat program sandboxing dan mencegahnya memengaruhi sistem lainnya, seperti VirtualBox, VMware, Xen, KVM, dll. Namun, hanya untuk satu atau beberapa aplikasi, sandboxing seluruh OS tampaknya tidak praktis.

Untuk OS Linux, ada alat yang tersedia, yang dikenal sebagai chroot, yang menyediakan cara sandboxing aplikasi yang lebih mudah dan cepat. Dengan chroot, Anda dapat menginstal dan menguji aplikasi apa pun tanpa memengaruhi sistem lainnya.

Artikel ini akan menjelaskan cara menggunakan chroot di Debian 10 Buster, beserta beberapa contohnya. Untuk penjelasannya, kita akan membuat lingkungan chroot untuk bash dan beberapa perintah, seperti perintah “ls,” “ip,” dan “pwd”.

Apa itu chroot??

Alat chroot adalah perintah di Linux yang mengubah direktori root aplikasi ke direktori lain. Proses yang berjalan di direktori root baru ini tidak dapat mengakses file di luarnya. Oleh karena itu, ia mengisolasi operasi aplikasi dari sistem lainnya.

Bagaimana cara kerja chroot??

Chroot bekerja dengan menyalin aplikasi dan semua executable dan dependensinya di dalam direktori root alternatif. Kemudian menjalankan aplikasi dari dalam direktori root alternatif ini, menyebabkan aplikasi menganggapnya sebagai direktori root asli. Direktori root adalah direktori paling atas dalam hierarki, dan tidak ada aplikasi yang dapat mencapai lebih tinggi dari direktori ini, jadi beginilah cara chroot mengisolasi aplikasi dari sistem lainnya.

Gunakan Kasus

Sintaksis

Berikut ini adalah sintaks dasar untuk perintah chroot:

$ chroot perintah

Ikuti langkah-langkah di bawah ini untuk menggunakan perintah chroot di Debian untuk mengatur lingkungan chroot.

1. Buat Direktori Root Alternatif

Pertama, buat direktori root alternatif yang akan digunakan untuk lingkungan chroot.

$ sudo mkdir ~/new_root

Perintah di atas akan membuat new_root direktori di bawah Rumah direktori, yang akan digunakan sebagai direktori root di lingkungan chroot.

2. Tambahkan Direktori Penting

Buat direktori "bin," "lib," dan "lib64" di bawah ~/new_root direktori:

$ sudo mkdir -p ~/new_root/bin,lib,lib64

3. Salin Program Biner

Semua yang diperlukan untuk menjalankan aplikasi di lingkungan chroot harus berada di direktori root alternatif. Pada artikel ini, kita akan membuat lingkungan chroot untuk bash dan beberapa perintah, termasuk perintah “ls,” “ip,” dan “pwd”. Oleh karena itu, kami akan menyalin binari dari /tempat sampah direktori ke alternatif ~/new_root/bin direktori. Untuk menemukan binari perintah, gunakan perintah which:

$ yang bash ls ip pwd

Selanjutnya, salin binari perintah ke ~/new_root/bin direktori.

$ sudo cp -v /bin/bash,ls,ip,pwd  ~/new_root/bin

4. Salin Ketergantungan Program

Kami juga perlu mencari tahu dependensi apa yang dibutuhkan program kami our. Pertama, kita perlu menemukan dependensi itu, dan kemudian kita akan menyalinnya ke ~/new_root/lib direktori.

Menyalin Ketergantungan untuk bash

Pertama, cari tahu dependensi untuk program bash:

$ldd /bin/bash

Kemudian, salin dependensi ini ke ~/new_root/lib direktori.

$ cp -v /lib/x86_64-linux-gnu/libtinfo.begitu.6, libdl.begitu.2, libc.begitu.6 ~/new_root/lib

Untuk file /lib64, salin ke ~/new_root/lib64 direktori.

$cp -v /lib64/ld-linux-x86-64.begitu.2 ~/new_root/lib64

Salin Ketergantungan untuk Perintah ls

Pertama, cari tahu dependensi untuk perintah ls:

$ldd /bin/ls

Kemudian, salin dependensi ini ke ~/new_root/lib direktori.

$ sudo cp -v /lib/x86_64-linux-gnu/libselinux.begitu.1, libc.begitu.6, libpcre.begitu.3,
libdl.begitu.2, libpthread.begitu.0 /lib64/ld-linux-x86-64.begitu.2 ~/new_root/lib

Untuk file /lib64, salin ke ~/new_root/lib64 direktori.

$ sudo cp -v /lib64/ld-linux-x86-64.begitu.2 ~/new_root/lib64

Salin Ketergantungan untuk Perintah ip

Pertama, cari tahu dependensi untuk perintah ip:

$ldd /bin/ip

Kemudian, salin dependensi ini ke ~/new_root/lib direktori.

$cp -v /lib/x86_64-linux
gnu/libselinux.begitu.1, pencemaran nama baik.begitu.1, libmnl.begitu.0, libcap.begitu.2, libdl.begitu.2, libc.begitu.6,
libpcre.begitu.3, libz.begitu.1, libpthread.begitu.0 ~/new_root/lib

Untuk file /lib64, salin ke ~/new_root/lib64 direktori.

$ sudo cp -v /lib64/ld-linux-x86-64.begitu.2 ~/new_root/lib64

Salin Ketergantungan untuk Perintah pwd

Pertama, cari tahu dependensi untuk perintah pwd:

$ldd /bin/pwd

Kemudian, salin dependensi ini ke ~/new_root/lib direktori.

$ sudo cp -v /lib/x86_64-linux-gnu/libc.begitu.6  ~/new_root/lib

Untuk file /lib64, salin ke ~/new_root/lib64 direktori.

$ sudo cp -v /lib64/ld-linux-x86-64.begitu.2 ~/new_root/lib64

Untuk melihat semua direktori di direktori root alternatif, gunakan perintah berikut:

$ ls -R

5. Beralih ke Direktori Root Alternatif

Sekarang, kami akhirnya siap untuk beralih ke lingkungan chroot baru kami. Untuk mengubah direktori root, jalankan perintah berikut di shell dengan hak akses root:

$ sudo chroot ~/new_root /bin/bash

Dimana ~/new_root adalah direktori root alternatif kami dan /bin/bash adalah aplikasi yang kami gunakan untuk mengatur lingkungan chroot.

Setelah menjalankan perintah di atas, Anda akan melihat bahwa bash prompt telah berubah menjadi bash-x.kamu yang dalam kasus kami adalah bash-5.0 (di mana 5.0 adalah nomor versi bash).

catatan: Anda mungkin mengalami kesalahan berikut setelah menjalankan perintah chroot, seperti yang saya lakukan:

Jika kesalahan ini terjadi, periksa apakah Anda telah menambahkan semua pustaka dan executable yang terkait dengan program yang diperlukan ke direktori root baru.

Setelah memasuki lingkungan chroot, Anda hanya dapat mengakses file di dalamnya. Coba jalankan perintah yang telah Anda atur untuk lingkungan chroot Anda, termasuk beberapa perintah bawaan. Anda dapat menemukan perintah bawaan dengan menjalankan Tolong perintah di shell.

Anda dapat melihat kami telah mencoba perintah "ls," "pw," dan "ip", dan semuanya berhasil. Jika kita menjalankan perintah apa pun selain ketiga perintah ini dan perintah bawaan, perintah tersebut akan gagal, karena kita belum mengaturnya untuk lingkungan chroot. Seperti yang Anda lihat di tangkapan layar berikut, kami telah mencoba menjalankan perintah "sentuh", "ping", dan "hapus", dan semuanya gagal.

6. Keluar dari chroot

Untuk keluar dari lingkungan chroot, gunakan keluar perintah.

Kesimpulan

Pada artikel ini, Anda telah mempelajari apa itu chroot dan cara kerjanya di Linux. Artikel ini menunjukkan kepada Anda langkah demi langkah cara menggunakan chroot di Debian 10 Buster untuk membuat lingkungan chroot untuk bash dan perintah lainnya. Sekarang, Anda harus nyaman menggunakan perintah chroot untuk mengubah direktori root dari suatu proses dan sub-prosesnya dan mengisolasinya dari sistem lainnya.

Tambahkan gerakan Mouse ke Windows 10 menggunakan alat gratis ini
Dalam beberapa tahun terakhir, komputer dan sistem operasi telah berkembang pesat. Ada saat ketika pengguna harus menggunakan perintah untuk menavigas...
Kontrol & kelola gerakan mouse di antara beberapa monitor di Windows 10
Manajer Mouse Tampilan Ganda memungkinkan Anda mengontrol & mengonfigurasi gerakan mouse di antara beberapa monitor, dengan memperlambat gerakannya di...
WinMouse memungkinkan Anda menyesuaikan & meningkatkan gerakan penunjuk tetikus di PC Windows
Jika Anda ingin meningkatkan fungsi default penunjuk tetikus Anda, gunakan freeware WinMouse. Ini menambahkan lebih banyak fitur untuk membantu Anda m...