บทความนี้จะสอนวิธีการติดตั้ง chroot jail บน Debian ฉันคิดว่าคุณกำลังใช้ Debian 7.x หากคุณใช้ Debian 6 หรือ 8 อาจใช้การได้ แต่โปรดจำไว้ว่าฉันไม่ได้ทดสอบ Debian รุ่นอื่น
ล็อกอิน VPS ของคุณในฐานะผู้ใช้รูท นอกจากนี้คุณยังสามารถเรียกใช้คำสั่งด้วย sudo
ขั้นตอนที่ 1: การติดตั้งการอ้างอิง
ในการเริ่มต้นคุณจะต้องเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งซึ่งจะอธิบายในภายหลัง
apt-get install binutils debootstrap
คุณจะต้องเลือกสถานที่เพื่อตั้งค่า chroot สำหรับบทความนี้เราจะใช้/var/chroot
ไดเรกทอรี
ขั้นตอนที่ 2: การสร้างไดเรกทอรีที่ต้องการ
สร้างโฟลเดอร์ chroot
mkdir -p /var/chroot
ที่ดี! ขั้นตอนเบื้องต้นเสร็จสมบูรณ์แล้ว ตอนนี้ให้ chroot มีประโยชน์
ขั้นตอนที่ 3 การคัดลอกคำสั่งและการอ้างอิง
เราต้องการล่ามคำสั่งดังนั้นให้คัดลอก bash
mkdir -p /var/chroot/bin
cp /bin/bash /var/chroot/bin
ทุกโปรแกรมมีการพึ่งพาของตัวเองและทุบตีเป็นหนึ่งในนั้น ดูที่พวกเขาโดยการเรียกใช้:
ldd /bin/bash
ควรมีลักษณะเช่นนี้หากคุณใช้รุ่น 32 บิต:
linux-gate.so.1 => (0xb773e000)
libtinfo.so.5 => /lib/i386-linux-gnu/libtinfo.so.5 (0xb7718000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7714000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb75c3000)
/lib/ld-linux.so.2 (0xb773f000)
มาคัดลอกไฟล์เหล่านี้กัน หากคุณเห็นการขึ้นต่อกันที่แตกต่างกันเพียงแค่คัดลอกเส้นทางหลังจาก=>
ส่วนนั้น
mkdir -p /var/chroot/lib
mkdir -p /var/chroot/lib/i386-linux-gnu
cp /lib/i386-linux-gnu/libtinfo.so.5 /var/chroot/lib/i386-linux-gnu
cp /lib/i386-linux-gnu/libdl.so.2 /var/chroot/lib/i386-linux-gnu
cp /lib/i386-linux-gnu/libc.so.6 /var/chroot/lib/i386-linux-gnu
ขั้นตอนที่ 4: ทดสอบสภาพแวดล้อม
ตอนนี้เรามีการตั้งค่า bash - ลองทดสอบกัน
chroot /var/chroot
ล่ามคำสั่ง bash จะเปิดขึ้น แต่จะไม่มีคำสั่งอื่นใดให้ทำงาน นี่เป็นเพราะเราไม่ได้คัดลอกโปรแกรมอื่น ๆ ไปยังโฟลเดอร์ chroot หากคุณต้องการคำสั่งเพิ่มเติมให้พิมพ์exit
และทำซ้ำขั้นตอนที่ 3
นั่นคือทั้งหมดที่ใช้ ตอนนี้คุณได้ตั้งค่า chroot พื้นฐานแล้ว คุณสามารถทดสอบคำสั่งขังผู้ใช้ของคุณ ฯลฯ
หากคุณต้องการระบบเครือข่ายใน chroot คุณจะต้องเรียกใช้คำสั่งต่อไปนี้
mkdir -p /var/chroot/etc
cp /etc/resolv.conf /var/chroot/etc
cp /etc/gai.conf /var/chroot/etc