GNU/Linux >> Belajar Linux >  >> Linux

Apa itu chroot jail dan Bagaimana Cara Menggunakannya?

Pendahuluan

Istilah penjara chroot tanggal sepanjang jalan kembali ke tahun 1992 dan sering digunakan hari ini. Tapi apa arti istilah ini, dan untuk apa operasi ini digunakan?

Dalam tutorial ini, kami akan membahas dasar-dasar penggunaan chroot jail dan menunjukkan cara menyiapkannya.

Prasyarat

  • Sistem yang menjalankan sistem operasi Linux atau Unix
  • Akun pengguna dengan hak istimewa tingkat sudo
  • Akses ke terminal/baris perintah

Apa itu chroot jail?

Sebuah chroot (kependekan dari ubah root ) adalah operasi Unix yang mengubah direktori root yang terlihat menjadi direktori yang ditentukan oleh pengguna.

Setiap proses yang Anda jalankan setelah operasi chroot hanya memiliki akses ke direktori root yang baru ditentukan dan subdirektorinya. Operasi ini dalam bahasa sehari-hari dikenal sebagai penjara chroot karena proses ini tidak dapat membaca atau menulis di luar direktori root yang baru.

Untuk apa chroot jail Digunakan?

Penjara Chroot digunakan untuk membuat kotak pasir terbatas untuk menjalankan proses. Ini berarti proses tidak dapat mengubah data secara berbahaya di luar pohon direktori yang ditentukan.

Penggunaan lain dari chroot jail adalah sebagai pengganti mesin virtual. Metode ini disebut virtualisasi tingkat kernel dan membutuhkan lebih sedikit sumber daya daripada mesin virtual. Operasi ini memungkinkan pengguna untuk membuat beberapa instance terisolasi pada sistem yang sama.

Cara Menggunakan chroot jail

Contoh ini membawa Anda melalui pembuatan dan pengaturan chroot jail sehingga dapat menjalankan bash dan ls perintah.

Ikuti langkah-langkah berikut:

1. Buat direktori baru bernama chroot_jail :

mkdir chroot_jail

Jika kita mencoba chroot ke direktori baru, kita mendapatkan output berikut:

Anda harus mengaktifkan bash perintah sebelum Anda dapat chroot ke direktori baru. Ini memerlukan penyalinan file perintah dan semua pustaka terkait ke direktori root baru.

2. Buat pohon subdirektori baru di dalam chroot_jail :

mkdir -p chroot_jail/bin chroot_jail/lib64/x86_64-linux-gnu chroot_jail/lib/x86_64-linux-gnu

Subdirektori ini akan menyimpan semua elemen yang diperlukan dari bash dan ls perintah.

3. Menggunakan cp perintah dengan which perintah mari salin bash dan ls perintah tanpa menentukan jalur tempat Anda menyalin.

Untuk melakukannya, gunakan:

cp $(which ls) chroot_jail/bin/
cp $(which bash) chroot_jail/bin/

4. Untuk bash dan ls untuk bekerja di folder root baru, tambahkan semua perpustakaan terkait ke chroot_jail/libraries . Gunakan ldd perintah untuk mengetahui perpustakaan mana yang terkait dengan perintah mana:

ldd $(which bash)
ldd $(which ls)

5. Salin pustaka yang sesuai ke chroot_jail subdirektori lib dan lib64 .

Untuk bash perintah:

cp /lib/x86_64-linux-gnu/libtinfo.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libdl.so.2 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libc.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib64/ld-linux-x86-64.so.2 chroot_jail/lib64/

Untuk ls perintah:

cp /lib/x86_64-linux-gnu/libselinux.so.1 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libc.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libpcre2-8.so.0 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libdl.so.2 chroot_jail/lib/x86_64-linux-gnu/
cp /lib64/ld-linux-x86-64.so.2 chroot_jail/lib64/
cp /lib/x86_64-linux-gnu/libpthread.so.0 chroot_jail/lib/x86_64-linux-gnu/

6. Gunakan chroot perintah untuk mengubah root menjadi chroot_jail direktori:

sudo chroot chroot_jail

Gunakan ls perintah untuk membuat daftar semua file dan direktori di pohon direktori root baru:

ls -R

7. Setelah Anda selesai menggunakan folder root baru, keluar dari shell:

exit

Linux
  1. Chroot “jail” – Apa Itu Dan Bagaimana Cara Menggunakannya?

  2. Cara Menjalankan layanan DNS dan FTP di chroot Jail

  3. Apa itu Build-Essential-Ubuntu, bagaimana cara menginstal dan menggunakannya?

  1. Apa itu Perintah Chown di Linux dan Cara Menggunakannya

  2. Apa itu Perintah cURL Dan Bagaimana Cara Menggunakannya?

  3. Apa dan bagaimana menggunakan folder public_ftp

  1. Apa itu Umask dan Bagaimana Cara Menggunakannya

  2. Perintah lspci:Apa Itu dan Bagaimana Cara Menggunakannya

  3. Apa itu file dtb u-Boot dan bagaimana cara menggunakannya (BeagleBoard xM)?