เป็นไปได้หรือไม่ที่จะรันโปรเซสใน chroot ด้วยระบบไฟล์เสมือน / proc ภายใต้ Linux?


1

ฉันต้องเรียกใช้กระบวนการใน chroot ด้วยระบบไฟล์เสมือน / proc ดังนั้นกระบวนการจึงไม่สามารถเข้าถึงกระบวนการอื่นที่ทำงานอยู่บนโฮสต์เดียวกัน กระบวนการนี้จะต้องดำเนินการภายใต้รูทและสามารถเข้าถึงไฟล์ใน chroot ได้อย่างเต็มที่ นอกจากนี้การเปลี่ยนแปลงใด ๆ ในระบบไฟล์จะต้องรักษาไว้ในไดเรกทอรี chrooted

เป็นไปได้ไหม


1
มีเหตุผลใดที่พยายามทำให้เกิดพฤติกรรมเช่นนี้?
ddnomad

เมล์หรือ LXC ภาชนะที่จะทำให้คุณมองจริงไม่จริงเป็นโฮสต์ของ/proc /proc
quixotic

คำตอบ:


0

เป็นไปได้ที่จะเมานต์ / proc ในสภาพแวดล้อม chroot - ดูคำตอบนี้สำหรับข้อมูลเพิ่มเติม

ฉันจะมีความกังวลว่าโปรแกรมจะไม่สามารถเข้าถึงกระบวนการอื่น ๆ ได้มากเท่าที่สามารถเข้าถึงข้อมูลนี้ได้ (ถ้าไม่ใช่ทั้งหมด) ผ่าน / proc (/ proc / [หมายเลข pid] จะทำให้คุณสามารถเข้าถึงสิ่งนี้ได้)

มันไม่ชัดเจนในสิ่งที่คุณหมายถึงโดย "การเปลี่ยนแปลงระบบไฟล์" แต่ถ้าการเปลี่ยนแปลงเหล่านี้เป็นระบบไฟล์ที่ไม่รวมบิตพิเศษเช่น / proc, / dev / ฯลฯ สิ่งเหล่านี้จะอยู่ใน chroot


การติดตั้งของจริง/procใน chroot นั้นเป็นสิ่งที่คำถามพยายามหลีกเลี่ยง
quixotic

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

ยอมรับว่าไม่ได้สมเหตุสมผล - มันอาจเป็นการสมมติฐานแบบอ่านอย่างเดียวสำหรับ chroot เช่นภาพนักเทียบท่าหรือภาพ VM ที่สามารถจับภาพได้หรือเรียกใช้ chroot ในอิมเมจ ISO ที่ติดตั้งแบบวนซ้ำหรือ ...
quixotic

> มันไม่ชัดเจนว่าคุณหมายถึงอะไรโดย "การเปลี่ยนแปลงระบบไฟล์" นั่นก็เพื่อหลีกเลี่ยงแฟน ๆ นักเทียบท่าที่จะทำให้หัวข้อท่วมท้น :) สิ่งที่ฉันต้องการจริงๆคือสามารถติดตั้งแพ็คเกจใดก็ได้ซึ่งดึงการพึ่งพามากมายในแบบที่มันชนะ ' ไม่ทำให้ระบบเป็นมลพิษและสามารถใช้งานได้ในเชลล์เช่นเดียวกับที่ติดตั้งใน / usr / bin ดังนั้นฉันต้องการใช้รูทหลัก แต่การเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นรวมถึงการอ้างอิงบันทึกและอื่น ๆ ที่จะจัดเก็บในไดเรกทอรีแยก ฉันต้องการให้ไม่รู้อะไรเกี่ยวกับระบบรูทและกระบวนการที่กำลังทำงานอยู่เพราะมันจะไม่ทำงานอย่างราบรื่น
user4674453

0

คุณสามารถทำได้โดยใช้ Linux namespaces ตู้คอนเทนเนอร์ (Docker, lxc) ทำจากวัสดุเหล่านั้น man unshareเป็นเพื่อนของคุณ. ระวังว่าผู้โจมตีสามารถหลบหนีได้ง่ายchrootหากคุณใช้งานไม่ถูกต้อง อ่านข้อมูลก่อนใช้งาน คุณได้รับการเตือน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.