Terkadang, Anda mungkin perlu mengisolasi proses dari proses lain yang berjalan di sistem Anda. Kita dapat melakukannya dengan menggunakan perintah chroot di Linux.
Dalam tutorial ini, kami akan menunjukkan kepada Anda apa itu perintah chroot dan bagaimana Anda dapat menggunakan perintah tersebut untuk membuat chroot jail dan menjebak pengguna atau grup di lingkungan yang terisolasi.
Memahami Perintah chroot di Linux
Perintah chroot sangat penting dalam sistem Linux. Ini membantu Anda mengubah direktori root untuk suatu proses bersama dengan proses anaknya. Saat kami membuat direktori root palsu untuk pengguna atau grup, itu kehilangan akses ke direktori root yang sebenarnya.
Oleh karena itu, pengguna atau grup sekarang diisolasi dari sistem kami yang lain. Ini dapat memiliki banyak kegunaan, seperti berikut ini:
- Buat lingkungan pengujian untuk pengembangan dan pengujian perangkat lunak.
- Inisialisasi penginstalan ulang file bootloader di sistem Anda
- Jalankan perangkat lunak yang mungkin rusak
- Tingkatkan keamanan menggunakan mekanisme ringfencing
Perintah chroot pada dasarnya menciptakan lingkungan virtual. Fungsinya mirip dengan mesin virtual, tetapi Anda tidak perlu mencurahkan sumber daya khusus untuk chroot jail.
Lingkungan virtual berbagi semua kernel dengan sistem host.
Sintaks dari Perintah chroot
Perintah chroot di Linux memiliki sintaks berikut.
chroot [-OPTION] [PATH FOR NEW ROOT] [PATH FOR SERVER]
Satu-satunya parameter yang diperlukan untuk menjalankan perintah chroot adalah jalur untuk direktori root baru. Namun, Anda dapat menggunakan opsi yang tersedia di perintah chroot untuk mencapai hasil yang diinginkan.
Berikut adalah opsi yang Anda inginkan saat menggunakan perintah chroot di Linux.
- –userspec=USER[:GROUP] – Digunakan untuk mendefinisikan pengguna atau grup yang ingin kita gunakan dengan perintah chroot. Kami dapat menentukan grup atau pengguna yang ingin kami gunakan berdasarkan nama atau ID
- –groups=G_List – Digunakan untuk menentukan grup tambahan yang ingin kita gunakan sebagai G1, G2… Gn
- — bantuan – Menampilkan layar bantuan dan keluar
- –versi – Menampilkan data versi dan keluar
Membuat penjara perintah chroot
Sekarang setelah kita memahami perintah chroot dan sintaksnya, sekarang saatnya untuk menggunakannya. Untuk menunjukkan cara melakukannya, kami akan membuat chroot jail.
Chroot jail adalah lingkungan virtual yang dibuat dengan mengubah direktori root pengguna atau grup ke direktori baru. Direktori baru ini berfungsi sebagai direktori root palsu untuk chroot jail kami.
Mari kita bahas langkah-langkah yang perlu Anda lakukan untuk menggunakan perintah chroot di Linux untuk membuat chroot jail.
1. Buat Direktori
Pertama, kita akan mulai dengan membuat direktori root palsu di /home/chroot_jail menggunakan perintah mkdir.
mkdir $home/chroot_jail
Ini akan membuat direktori di alamat yang diberikan yang akan kita gunakan untuk chroot jail kita. Namun, sebelum kita membiarkan perintah chroot melakukan tugasnya, kita perlu menambahkan file yang diperlukan ke direktori baru kita.
2. Tambahkan Direktori Root yang Diperlukan
Kita akan mulai dengan membuat /bin, /lib dan /lib64 di direktori jail kita. Perintah untuk membuat direktori ini diberikan di bawah ini.
mkdir -p $home/chroot_jail/{bin,lib,lib64}
Seperti yang Anda lihat, direktori yang kita buat dalam lingkungan virtual kita ditetapkan dalam kurung kurawal (‘{}’).
Sekarang, kita akan menggunakan perintah cd untuk membuat chroot_jail direktori root baru kita.
cd $home/chroot_jail
3. Pindahkan File Biner Perintah yang Diizinkan
Kami membuat lingkungan Linux minimalis untuk contoh ini. Mari gunakan perintah bash, ls, rm dan touch untuk menjadi bagian dari fungsionalitas lingkungan virtual kita.
Salin binari dari direktori root /bin kami ke direktori /bin chroot_jail kami. Kami melakukannya menggunakan perintah cp dengan tag -v (verbose) sehingga kami dapat melihat apa yang sedang disalin pada saat tertentu.
cp -v /bin/{bash,touch,ls,rm} $home/chroot_jail

Seperti yang Anda lihat, binari yang ingin kita salin disebutkan dalam kurung kurawal. File dari binari yang diberikan sekarang telah disalin ke direktori jail chroot baru kami.
4. Menyelesaikan Ketergantungan Perintah
Tetapi binari ini akan memiliki dependensi. Ketergantungan untuk bash dapat ditemukan menggunakan perintah ldd.
ldd /bin/bash

Sekarang kita akan menggunakan perintah cp untuk menyalin direktori dengan hati-hati ke chroot jail kita satu per satu. Kita harus memastikan untuk menyalin semua pustaka dependensi, jika tidak, jail chroot kita tidak akan berfungsi dengan baik. Ganti bagian dengan direktori yang dipisahkan dengan koma.
cp -v {<List dependencies here>} $home/chroot_jail/lib64
Kami akan mengulangi langkah-langkah ini untuk semua perintah yang ingin kami izinkan di dalam chroot jail. Temukan pustaka dependensi dan salin ke direktori chroot_jail.
5. Beralih ke Direktori Root Baru
Sekarang, yang tersisa untuk kita lakukan adalah mengubah direktori root dari chroot jail kita ke direktori palsu yang baru saja kita buat.
Untuk mengubah direktori dan menentukan bash untuk dijalankan sebagai aplikasi yang kami jalankan sebagai shell untuk lingkungan virtual kami, kami menggunakan perintah berikut.
sudo chroot $home/chroot_jail/bin/bash
Anda mungkin diminta untuk memasukkan kata sandi pengguna Anda untuk melanjutkan. Dalam hal ini, masukkan kata sandi pengguna Anda dan perintah akan dijalankan.
Jika Anda telah mengikuti semua langkah dengan benar, Anda akan melihat output seperti berikut di layar Anda.

Seperti yang Anda lihat di tangkapan layar, bash versi 4.4 sekarang berjalan sebagai shell untuk chroot jail kami.
Sekarang, lingkungan Linux virtual minimalis kami telah dibuat dan siap digunakan. Kita dapat berinteraksi dengan lingkungan virtual menggunakan bash seperti sistem Linux biasa.
Kesimpulan
Perintah chroot di Linux adalah perintah sederhana namun efektif di perangkat pengguna Linux. Kemampuannya untuk menciptakan lingkungan virtual, tanpa memerlukan perangkat lunak pemantauan apa pun seperti yang kita lihat pada mesin virtual, menjadikannya alternatif yang ringan untuk penggunaan ini.
Tutorial ini bertujuan untuk membantu Anda memahami apa itu chroot dan kemudian menunjukkan kepada Anda cara membuat chroot jail sederhana. Jika Anda memiliki pertanyaan, umpan balik, atau saran, jangan ragu untuk menghubungi kami di komentar di bawah.