คุก chroot ใน Linux คืออะไร?

การคุมขัง chroot เป็นคุณลักษณะเคอร์เนลของ Linux ที่ช่วยให้สามารถจำกัดกระบวนการภายในแผนผังไดเร็กทอรีบางตัวได้ซึ่งอาจเป็นประโยชน์สำหรับวัตถุประสงค์ด้านความปลอดภัย หรือเพื่อจำกัดการเข้าถึงไฟล์หรือไดเร็กทอรีเฉพาะ นอกจากนี้ยังสามารถใช้คุก chroot เป็นทางเลือกแทนเทคโนโลยีเวอร์ชวลไลเซชันแบบเดิม เช่น VMware ESX หรือ Microsoft Hyper-V ในสาระสำคัญ คุก chroot จะสร้าง สภาพแวดล้อมที่แยกจากกันซึ่งแอปพลิเคชันและข้อมูลของผู้ใช้ถูกแยกออกจากส่วนที่เหลือของระบบระบบไฟล์ของผู้ใช้เอง (และเนื้อหาทั้งหมด) ติดตั้งอยู่ภายในสภาพแวดล้อมนี้ และการเปลี่ยนแปลงใดๆ ที่ทำโดยผู้ใช้จะมีผลในระบบไฟล์รูทนอกคุก Chroots ถูกสร้างขึ้นโดยใช้คำสั่ง mkchroot:$ mkchroot myjaildir /bin/bashThis will สร้างไดเร็กทอรี myjaildir ด้วยไฟล์เรียกทำงานที่เรียกว่า bash อยู่ข้างในกระบวนการใดๆ ที่เปิดใช้งานจากภายใน myjaildir จะถูกจำกัดอยู่ที่ไดเร็กทอรีนั้นและย่อย (สมมติว่าไม่มีอยู่ภายใน chroot อื่น) ในการเปิดแอปพลิเคชันภายในคุก chroot คุณต้องใช้บางอย่างเช่น lxc-start --type=application มายแอพ LXC จะค้นหาภาพที่ตั้งชื่อตามแอปของคุณใน repos ในพื้นที่ของคุณและเริ่มต้นขึ้นภายในคอนเทนเนอร์ที่ถูกคุมขัง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ chroots ใน Linux ให้ปรึกษา man mkchroot หรืออ่านหนึ่งในคำแนะนำเหล่านี้:

Chroot Jail คืออะไร?

คุก Chroot เป็นอีกวิธีหนึ่งในการแยกกระบวนการออกจากกันบนระบบ linux โดยการสร้างโฟลเดอร์ที่กระบวนการเหล่านั้นทำงานแทนการเรียกใช้โดยตรงบนระบบปฏิบัติการ linux ของคุณโดยตรง

คุก chroot ทำงานอย่างไร

การคุมขัง chroot เป็นคุณลักษณะของ Linux ที่อนุญาตให้คุณจำกัดสภาพแวดล้อมของผู้ใช้ไว้ที่แผนผังไดเร็กทอรีบางรายการสิ่งนี้มีประโยชน์สำหรับการแยกแอปพลิเคชันหรือผู้ใช้ออกจากกัน หรือสำหรับการบังคับใช้นโยบายความปลอดภัย

Chroots ถูกนำไปใช้เป็นไดเร็กทอรีย่อยของไดเร็กทอรีรูทในการเข้าถึง chroot คุณต้องสร้างมันขึ้นมาก่อน จากนั้นใช้คำสั่ง mount เพื่อแนบเข้ากับระบบไฟล์ที่มีอยู่

ในการสร้างคุก chroot ก่อนอื่นให้กำหนดไดเร็กทอรีแอปพลิเคชันหรือผู้ใช้ของคุณที่ควรถูกจำกัดไว้จากนั้นใช้คำสั่ง mkdir เพื่อสร้างไดเร็กทอรีย่อยที่จำเป็นสุดท้าย ใช้คำสั่ง mount เพื่อแนบไดเร็กทอรีย่อยเหล่านั้นกับระบบไฟล์ที่มีอยู่

การใช้คุก chroot มีประโยชน์อย่างไร?

คุก chroot เป็นคุณลักษณะของ Linux ที่ช่วยให้คุณสามารถแยกส่วนต่างๆ ของระบบออกจากส่วนที่เหลือได้สิ่งนี้มีประโยชน์หากคุณต้องการเรียกใช้โปรแกรมเฉพาะในสภาพแวดล้อมแบบแยกส่วน หรือถ้าคุณต้องการปกป้องข้อมูลของคุณจากการถูกเข้าถึงโดยผู้ใช้รายอื่นในระบบของคุณ

ประโยชน์ของการใช้คุก chroot ได้แก่:

- ความปลอดภัยที่เพิ่มขึ้น: การแยกโปรแกรมและไฟล์ภายในไดเร็กทอรีของตนเอง ช่วยลดโอกาสที่ข้อมูลที่ละเอียดอ่อนจะถูกเปิดเผยโดยไม่ได้ตั้งใจ

- ปรับปรุงประสิทธิภาพ: ด้วยการรันโปรแกรมภายในคุก chroot คุณสามารถหลีกเลี่ยงการรบกวนจากกระบวนการอื่น ๆ ในระบบของคุณสิ่งนี้สามารถนำไปสู่ประสิทธิภาพโดยรวมที่เร็วขึ้น

- ลดเวลาการติดตั้ง: Chroots มักจะเล็กกว่าอิมเมจระบบเต็มรูปแบบมาก ซึ่งหมายความว่าจะใช้พื้นที่บนดิสก์น้อยลงและบูตได้เร็วกว่าเมื่อติดตั้ง

คุณจะสร้างคุก chroot ได้อย่างไร?

การคุมขัง chroot เป็นคุณลักษณะด้านความปลอดภัยของ Linux ที่อนุญาตให้คุณจำกัดสภาพแวดล้อมของผู้ใช้ไปยังไดเร็กทอรีบางตัวเมื่อคุณสร้างคุก chroot ไฟล์และแอปพลิเคชันทั้งหมดของผู้ใช้จะอยู่ในคุก ซึ่งหมายความว่าผู้ใช้ไม่สามารถเข้าถึงไฟล์หรือแอปพลิเคชันอื่นใดบนคอมพิวเตอร์ของตนได้สิ่งนี้มีประโยชน์สำหรับการจำกัดการเข้าถึงข้อมูลที่สำคัญของผู้ใช้ หรือการแยกพวกเขาออกจากซอฟต์แวร์ที่เป็นอันตรายในการสร้างคุก chroot ให้ใช้คำสั่งต่อไปนี้:

chroot /var/lib/jaildir

ต้องมีไดเร็กทอรี /var/lib/jaildir ก่อนที่คุณจะสามารถใช้คำสั่งนี้ได้คุก chroot จะอยู่ที่ /var/lib/jaildir/

คุณจะเข้าคุก chroot ได้อย่างไร?

Chroot jail เป็นคุณลักษณะด้านความปลอดภัยของ Linux ที่อนุญาตให้คุณจำกัดสภาพแวดล้อมผู้ใช้ของกระบวนการในการเข้าสู่คุก chroot ให้ใช้คำสั่ง chroot:

# mount -t proc none /mnt/proc # mount -t sysfs none /mnt/sysfs

# ls /mnt/proc # cat /etc/passwd

# exec su – myuser bash

  1. เปลี่ยนเป็นไดเร็กทอรีที่คุณต้องการสร้างคุก
  2. ใช้คำสั่ง chroot เพื่อเปลี่ยนเป็นไดเร็กทอรีรากของคุก
  3. ใช้คำสั่ง mount เพื่อต่อเชื่อมระบบไฟล์ของคุณในไดเร็กทอรีรากของคุก เพื่อให้คุณสามารถเข้าถึงไฟล์ในคอมพิวเตอร์ของคุณภายในคุกได้:
  4. ใช้คำสั่ง ls และ cat เพื่อดูไฟล์ในระบบไฟล์และบนคอมพิวเตอร์ของคุณตามลำดับ:
  5. ในการเริ่มกระบวนการใหม่ในสภาพแวดล้อมที่ถูกคุมขัง ให้ใช้คำสั่ง exec:

คุณต้องคัดลอกไฟล์และไดเร็กทอรีใดไปยังคุก chroot

ใน Linux การคุมขัง chroot เป็นระบบไฟล์เสมือนชนิดพิเศษที่ให้คุณจำกัดการเข้าถึงของผู้ใช้ในไฟล์และไดเรกทอรีบางรายการคุณสามารถสร้างคุก chroot ได้โดยการคัดลอกไฟล์และไดเร็กทอรีที่คุณต้องการลงในไดเร็กทอรีเฉพาะบนคอมพิวเตอร์ของคุณ

คุณสามารถเรียกใช้โปรแกรมใดในคุก chroot ได้บ้าง

จะสร้างคุก chroot ใน Linux ได้อย่างไร?การใช้คุก chroot มีประโยชน์อย่างไร?

คุก chroot เป็นสภาพแวดล้อมเสมือนของ Linux ที่จำกัดโปรแกรมที่สามารถเรียกใช้ได้โดยการจำกัดการเข้าถึงระบบไฟล์รูทวิธีนี้ทำให้คุณสามารถแยกแอปพลิเคชันออกจากกันและจากส่วนที่เหลือของระบบได้

คุณสามารถใช้คุก chroot เพื่อเรียกใช้แอปพลิเคชันเวอร์ชันต่างๆ ในระบบต่างๆ หรือเพื่อทดสอบเวอร์ชันใหม่โดยไม่ส่งผลต่อระบบที่ใช้งานจริงของคุณคุณยังสามารถใช้คุก chroot เป็นสภาพแวดล้อมการพัฒนาแบบแยกสำหรับโครงการซอฟต์แวร์

ในการสร้างคุก chroot ก่อนอื่นให้พิจารณาว่าไฟล์ใดต้องได้รับการปกป้องระบบไฟล์รูทประกอบด้วยไฟล์และไดเร็กทอรีทั้งหมดในคอมพิวเตอร์ของคุณ ดังนั้นคุณต้องปกป้องมันหากต้องการให้ผู้ใช้ภายในคุกมีการเข้าถึงที่จำกัดคุณสามารถทำได้โดยคัดลอกเฉพาะไฟล์ที่จำเป็นลงในไดเร็กทอรีที่ถูกคุมขังและลบทุกอย่างอื่นออกจากระบบไฟล์รูท

เมื่อคุณได้กำหนดแล้วว่าไฟล์ใดต้องการการป้องกัน ให้ใช้หนึ่งในยูทิลิตี้โปรแกรมที่มีอยู่มากมายใน Linux เพื่อสร้างไดเร็กทอรีที่ถูกคุมขัง: mkdir -p , cp , tar , gzip ตัวอย่างเช่น:

mkdir -p /jail/myapp1 cd /jail/myapp1 tar xvf myfile .tar gzip myfile .gz rm myfile .tar

หากคุณวางแผนที่จะใช้มากกว่าหนึ่งกระบวนการภายใน Jail ของคุณ ตรวจสอบให้แน่ใจว่าพวกเขามี PID ที่ไม่ซ้ำกัน (ตัวระบุกระบวนการ) ไม่เช่นนั้นจะขัดแย้งกันเองในขณะที่ทำงานในพื้นที่แซนด์บ็อกซ์ของตนเองในการกำหนด PID ที่ไม่ซ้ำกันเพียงต่อท้าย -nหลังจากแต่ละคำสั่งเมื่อสร้างหรือแก้ไขไฟล์การกำหนดค่า Jail: cp etc/resolvconf /jail/etc/resolvconf-cp ../* /jail/usr/share/zoneinfo-rm etc/.* # ลบข้อมูลโซนเริ่มต้น echo "nameserver 8.8.8.8" > etc/.named_servers หากมีบัญชีผู้ใช้ที่สร้างขึ้นนอกคุกของคุณซึ่งไม่ควรเข้าสู่ระบบเนื่องจากเหตุผลด้านความปลอดภัย ให้เพิ่มบัญชีเหล่านี้ที่นี่ด้วย sudo visudo : # เพิ่มบัญชีผู้ใช้ที่ไม่มีสิทธิ์ในการเข้าสู่ระบบ %sudo visudo ค่าเริ่มต้นรายการสำหรับ jonathan#user : PS1='[email protected] W$ ' รายการเริ่มต้นสำหรับ webadmin#user : PS1='[email protected] W$ ' ตอนนี้บันทึกและออกจาก visudo : sudo save && sudo exit สุดท้ายให้แก้ไขไฟล์กำหนดค่าของ Jail nano /etc/default/$JUNKIEJARNAME ตัวอย่างเช่น nano /etc/default/$MYAPPJARNAME Change JUNKIEJARNAME=myserver2to3runinjail AppName=MyApp Inside quotes like " ชื่อแอป="มายแอพ " "บันทึกการเปลี่ยนแปลงและออกจากนาโนโดยกด Ctrl+X ตามด้วย Y จากนั้นกด Enter

คุณสามารถติดตั้งแพ็คเกจภายในคุก chroot ได้หรือไม่?

คุก chroot ใน Linux คืออะไร?

คุก chroot เป็นสภาพแวดล้อมเสมือนที่จำกัดการเข้าถึงของผู้ใช้ไปยังระบบภายนอกสิ่งนี้มีประโยชน์สำหรับการติดตั้งแพ็คเกจบนระบบ หรือสำหรับการแยกมัลแวร์ออกจากแอพพลิเคชั่นอื่น

คุณสามารถติดตั้งแพ็คเกจภายในคุก chroot ได้หรือไม่?ใช่ แต่มีข้อจำกัดบางประการตัวอย่างเช่น คุณไม่สามารถใช้ผู้ใช้รูทภายในคุก chroot ได้ และการขึ้นต่อกันของแพ็คเกจบางอย่างอาจทำงานไม่ถูกต้อง

คุณจะอัปเดตไฟล์ในคุก chroot ได้อย่างไร?

คุก chroot คือระบบไฟล์เสมือนของ Linux ที่อนุญาตให้คุณจำกัดสภาพแวดล้อมของผู้ใช้ไปยังไดเร็กทอรีเฉพาะโดยค่าเริ่มต้น ไฟล์ในคุก chroot จะไม่สามารถเข้าถึงได้จากภายนอกคุกอย่างไรก็ตาม คุณสามารถเมาต์ระบบไฟล์รูทของคุก chroot ที่ด้านบนของระบบไฟล์อื่น ทำให้คุณสามารถเข้าถึงไฟล์ในคุกจากภายนอกคุกได้คุณยังสามารถใช้คุก chroot เพื่อสร้างสภาพแวดล้อมที่แยกออกมาเพื่อวัตถุประสงค์ในการทดสอบ

คุณจะลบคุก chroot ได้อย่างไร?

การคุมขัง chroot เป็นคุณลักษณะเคอร์เนลของ Linux ที่อนุญาตให้คุณจำกัดสภาพแวดล้อมผู้ใช้ของกระบวนการคุก chroot สามารถใช้เพื่อความปลอดภัย หรือเพื่อแยกแอปพลิเคชันออกจากแอปพลิเคชันอื่นในระบบ