Skip to main content

Test için BASH Ortamı

Test için kısıtlı bir BASH ortamı ihtiyacınız ve chrooting 'e kolay giriş yapmak için chroot ortamında bash kabuğu oluşturalım.Bunun için ilk olarak gerekli olan dizinleri oluşturun;

# mkdir /chroot
# mkdir /chroot/bash
# mkdir /chroot/bash/lib64
# mkdir /chroot/bash/bin
Gerekli olan dizinleri oluşturduktan sonra bash kabuğunun ihtiyacı olan kütüphaneleri dizine (lib64) kopyalamamız lazım.Bash'in ihtiyacı olan kütüphaneleri bulalım.ldd(list dynamic dependencies) komutu ile bu kütüphaneleri listeleyelim:
# ldd /bin/bash
linux-vdso.so.1 =>  (0x00007fffe2511000)
 libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f137fe71000)
 libdl.so.2 => /lib64/libdl.so.2 (0x00007f137fc6d000)
 libc.so.6 => /lib64/libc.so.6 (0x00007f137f902000)
 /lib64/ld-linux-x86-64.so.2 (0x00007f13800c4000)
Yukardaki çıktıda görüldüğü gibi gerekli olan kütüphaneler:
  • libncurses.so.5

  • libdl.so.2

  • libc.so.6

  • ld-linux-x86-64.so.2

Yukardaki kütüphaneleri oluşturduğunuz dizine(lib64 - sisteminize göre bu dizin "lib" olabilir.) taşıyın:

# cp /lib64/libncurses.so.5 /chroot/bash/lib64
# cp /lib64/libdl.so.2 /chroot/bash/lib64
# cp /lib64/libc.so.6 /chroot/bash/lib64
# cp /lib64/ld-linux-x86-64.so.2 /chroot/bash/lib64
Bu işlemi yaptıktan sonra "bash" komutunu oluşturduğumuz "bin" dizinine kopyalayalım.
# cp /bin/bash /chroot/bash/bin
Şimdi ihtiyacımız olan komutları chroot bash kabuğunuza kopyalayın.Mesela "ls" komutundan başlayalım.
# ldd /bin/ls
linux-vdso.so.1 =>  (0x00007fff161ff000)
 librt.so.1 => /lib64/librt.so.1 (0x00007fa1effe5000)
 libacl.so.1 => /lib64/libacl.so.1 (0x00007fa1efddc000)
 libc.so.6 => /lib64/libc.so.6 (0x00007fa1efa71000)
 libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa1ef854000)
 /lib64/ld-linux-x86-64.so.2 (0x00007fa1f01ee000)
 libattr.so.1 => /lib64/libattr.so.1 (0x00007fa1ef64f000)
"ls" komutu için gerekli olan kütüphaneler yukardaki gibi.Hemen bunları chroot bash kabuğu ortamındaki "lib64" dizinine kopyalayın.
# cp /lib64/librt.so.1 /chroot/bash/lib64
# cp /lib64/libacl.so.1 /chroot/bash/lib64
# cp /lib64/libpthread.so.0 /chroot/bash/lib64
# cp /lib64/libattr.so.1 /chroot/bash/lib64
libc.so.6 ve ld-linux-x86-64.so.2 kütüphanelerini daha önce kopyaladığımız için bunlara gerek yok.Bu kütüphaneleri kopyaladıktan sonra "ls" komutunu oluşturduğumuz "bin" dizinine kopyalabiliriz.
# cp /bin/ls /chroot/bash/bin
Dizinimizdeki(lib64) kütüphaneler ile test edeceğimiz bash kabuğu için yeterli komutları çalıştırabiliriz.İhitiyacım olan  cp,cat,touch,mkdir,rm,mv komutlarını kopyalayalım.
# cp /bin/cp /chroot/bash/bin
# cp /bin/mv /chroot/bash/bin
# cp /bin/cat /chroot/bash/bin
# cp /bin/rm /chroot/bash/bin
# cp /bin/mkdir /chroot/bash/bin
# cp /bin/touch /chroot/bash/bin
Kabuğumuz için ihtiyacımız olan komutlarını koyduktan sonra artık kısıtlı bash kabuğumuza giriş yapabiliriz.
# chroot /chroot/bash /bin/bash
Hiçbir hata almadıysanız kabuk ortamına girdiniz,şimdi koyduğunuz komutları test edebilirsiniz.

Comments

Comments powered by Disqus