Home >> Linux Command A-E, System Management

chroot

Fungsi Perintah

Menjalankan perintah dengan root direktori yang khusus.

Struktur Perintah

chroot new_directory [command]

Jika [command] tidak ditentukan, maka yang menjadi default adalah /bin/bash.

Contoh Penggunaan

Satu hal yang penting dilakukan, di direktory yang baru, kita harus memasukkan semua library yang dibutuhkan oleh program tersebut.
Contoh berikut, kita akan menjalankan program /bin/pwd dengan root direktori /test.

Banyak yang salah paham kalau perintah chroot ini bisa memindahkan direktori root ke sembarang tempat. Seperti dapat kita lihat dari contoh di bawah.

$mkdir /test; cd /test
$chroot /test /bin/pwd
chroot: /bin/pwd: No such file or directory

Dalam contoh ini, kita akan menyiapkan tiga program: /bin/pwd, /bin/ls, dan /bin/bash yang dapat dijalankan masing-masing dari direktori root yang baru.
Untuk itu, kita perlu menyiapkan library dari program yang ingin kita jalankan ke direktori baru ini.

$ldd /bin/bash
        libtermcap.so.2 => /lib/libtermcap.so.2 (0x40024000)
        libdl.so.2 => /lib/libdl.so.2 (0x40029000)
        libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$
$mkdir /test/lib; mkdir /test/lib/tls; mkdir /test/bin
$cp /lib/tls/libc.so.6 /test/lib/tls
$cp /lib/ld-linux.so.2 /test/lib
$cp /lib/libtermcap.so.2 /test/lib
$cp /lib/libdl.so.2 /test/lib
$
$cp /bin/pwd /test/bin/
$cp /bin/ls /test/bin/
$cp /bin/bash /test/bin/
$

Setelah ini, kita dapat menjalankan program yang kita inginkan

$pwd
/test
$chroot /test /bin/bash
bash-2.05b#
bash-2.05b# ls
bin  lib
bash-2.05b# pwd
/
bash-2.05b# exit

Leave a Reply