นี่คือคำสั่ง lxc-attach ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
lxc-attach - เริ่มกระบวนการภายในคอนเทนเนอร์ที่ทำงานอยู่
เรื่องย่อ
lxc-แนบ {-NS ชื่อ} [-NS โค้ง] [-อี] [-ส namespaces] [-R] [--รักษาสิ่งแวดล้อม] [--ล้าง-env] [--
คำสั่ง]
DESCRIPTION
lxc-แนบ ทำงานที่ระบุ คำสั่ง ภายในคอนเทนเนอร์ที่กำหนดโดย ชื่อ.
คอนเทนเนอร์จะต้องทำงานอยู่แล้ว
ถ้าไม่ คำสั่ง ถูกระบุ เชลล์เริ่มต้นปัจจุบันของผู้ใช้ที่ทำงานอยู่ lxc-แนบ จะ
ให้ค้นดูภายในภาชนะและประหารชีวิต สิ่งนี้จะล้มเหลวหากไม่มีผู้ใช้ดังกล่าว
ภายในคอนเทนเนอร์หรือคอนเทนเนอร์ไม่มีกลไก nsswitch ที่ใช้งานได้
เวอร์ชันก่อนหน้าของ lxc-แนบ เพียงแนบกับเนมสเปซที่ระบุของคอนเทนเนอร์
และรันเชลล์หรือคำสั่งที่ระบุโดยไม่ได้จัดสรรเทอร์มินัลหลอกก่อน นี้
ทำให้พวกเขาเสี่ยงต่อการป้อนข้อมูลปลอมผ่านTIOCSTI ไอโอทีแอล โทรหลังจากสลับระหว่าง
บริบทการดำเนินการ userspace ที่มีระดับสิทธิ์ต่างกัน เวอร์ชันที่ใหม่กว่าของ lxc-แนบ
จะพยายามจัดสรรคู่ terminal master/slave ปลอมบนโฮสต์และแนบใดๆ
ตัวอธิบายไฟล์มาตรฐานซึ่งอ้างถึงเทอร์มินัลไปยังด้านสลาฟของ pseudo
เทอร์มินัลก่อนรันเชลล์หรือคำสั่ง สังเกตว่าถ้าไม่มีไฟล์มาตรฐาน
ตัวอธิบายหมายถึงเทอร์มินัล lxc-แนบ จะไม่พยายามจัดสรรเทอร์มินัลหลอก
แต่จะแนบไปกับเนมสเปซคอนเทนเนอร์และเรียกใช้เชลล์หรือ
คำสั่งที่ระบุ
OPTIONS
-NS, --โค้ง โค้ง
ระบุสถาปัตยกรรมที่เคอร์เนลควรจะทำงานเป็น
คำสั่งดำเนินการ ตัวเลือกนี้จะยอมรับการตั้งค่าเดียวกันกับ lxc.arch ตัวเลือก
ในไฟล์คอนฟิกูเรชันคอนเทนเนอร์ โปรดดูที่ lxc.conf(5). โดยค่าเริ่มต้น ปัจจุบัน
จะใช้สถาปัตยกรรมของคอนเทนเนอร์วิ่ง
-e, --สิทธิพิเศษสูง สิทธิ์
อย่าทิ้งสิทธิพิเศษเมื่อรัน คำสั่ง ภายในภาชนะ หากตัวเลือกนี้คือ
ระบุไว้ กระบวนการใหม่จะ ไม่ ถูกเพิ่มไปยังกลุ่ม c ของคอนเทนเนอร์และมัน
จะไม่ลดความสามารถของมันก่อนดำเนินการ
ท่านอาจระบุสิทธิพิเศษในกรณีที่ท่านไม่ต้องการยกระดับให้ทั้งหมดเป็น
รายการแยกท่อเช่น CGROUP|แอลเอสเอ็ม. ค่าที่อนุญาตคือ ซีจีกรุ๊ป, CAP และ องค์กรพัฒนาเอกชน
แสดงถึง cgroup ความสามารถและสิทธิ์การจำกัดตามลำดับ (NS
ต้องหนีสัญลักษณ์ไปป์เช่น CGROUP\|LSM หรือยกมา เช่น "CGROUP|LSM".)
คำเตือน: ซึ่งอาจรั่วไหลของสิทธิ์ในคอนเทนเนอร์หากคำสั่งเริ่มต้น
กระบวนการย่อยที่ยังคงทำงานอยู่หลังจากกระบวนการหลักที่แนบคือ
สิ้นสุด. การเริ่มต้น (อีกครั้ง) ของ daemons ภายในคอนเทนเนอร์นั้นมีปัญหา
โดยเฉพาะอย่างยิ่งถ้า daemon เริ่มกระบวนการย่อยจำนวนมากเช่น cron or sshd. ใช้
กับ ยิ่งใหญ่ การดูแล
-NS, --เนมสเปซ namespaces
ระบุเนมสเปซที่จะแนบเป็นรายการที่คั่นด้วยไพพ์ เช่น เครือข่าย|IPC.
ค่าที่อนุญาตคือ MOUNT, PID, UTSNAME, IPC, USER และ เครือข่าย. นี้จะช่วยให้หนึ่งเพื่อ
เปลี่ยนบริบทของกระบวนการเช่นเนมสเปซเครือข่ายของคอนเทนเนอร์
ในขณะที่ยังคงเนมสเปซอื่นๆ ไว้เหมือนกับของโฮสต์ (สัญลักษณ์ท่อต้องการ
ที่จะหลบหนี เช่น ภูเขา\|PID หรือยกมา เช่น "เมานท์|พีไอดี".)
สำคัญ: ตัวเลือกนี้หมายถึง -e.
-NS, --remount-sys-proc
เมื่อใช้ -s และไม่รวมเนมสเปซการเมานท์ แฟล็กนี้จะทำให้ lxc-
แนบ ที่จะเมานต์ใหม่ / proc และ / sys เพื่อสะท้อนบริบทของเนมสเปซอื่นในปัจจุบัน
โปรดดูที่ หมายเหตุ : สำหรับรายละเอียดเพิ่มเติม
ตัวเลือกนี้จะถูกละเว้นหากมีการพยายามแนบเนมสเปซการเมานท์
--เก็บ-env
รักษาสภาพแวดล้อมปัจจุบันสำหรับโปรแกรมที่แนบมา นี่คือค่าเริ่มต้นปัจจุบัน
พฤติกรรม (ณ เวอร์ชัน 0.9) แต่มีแนวโน้มว่าจะเปลี่ยนแปลงในอนาคตตั้งแต่นี้เป็นต้นไป
อาจรั่วไหลข้อมูลที่ไม่พึงประสงค์ลงในภาชนะ หากคุณพึ่งพาสิ่งแวดล้อม
พร้อมใช้งานสำหรับโปรแกรมที่แนบมา โปรดใช้ตัวเลือกนี้เพื่ออนาคต-
การพิสูจน์. นอกเหนือจากตัวแปรสภาพแวดล้อมปัจจุบันแล้ว คอนเทนเนอร์=lxc จะถูกตั้งค่า
--ล้าง-env
เคลียร์สิ่งแวดล้อมก่อนติด เพื่อไม่ให้ตัวแปรสภาพแวดล้อมที่ไม่ต้องการรั่วไหล
ลงในภาชนะ ตัวแปร container=lxc จะเป็นสภาพแวดล้อมเดียวที่มี
ซึ่งโปรแกรมที่แนบมาเริ่มทำงาน
ทั่วไป OPTIONS
ตัวเลือกเหล่านี้เป็นเรื่องปกติสำหรับคำสั่ง lxc ส่วนใหญ่
- -ชม, --ช่วยด้วย
พิมพ์ข้อความการใช้งานที่นานกว่าปกติ
--การใช้งาน
ให้ข้อความการใช้งาน
-NS, --เงียบ
ปิดเสียง
-NS, --lxcpath=เส้นทาง
ใช้เส้นทางคอนเทนเนอร์สำรอง ค่าเริ่มต้นคือ /var/lib/lxc
-o, --logfile=ไฟล์
ส่งออกไปยังบันทึกสำรอง ไฟล์. ค่าเริ่มต้นคือไม่มีบันทึก
-l --logpriority=ระดับ
ตั้งค่าลำดับความสำคัญของบันทึกเป็น ระดับ. ลำดับความสำคัญของบันทึกเริ่มต้นคือ ERROR ค่าที่เป็นไปได้คือ:
ร้ายแรง, CRIT, เตือน, ข้อผิดพลาด, ประกาศ, ข้อมูล, แก้ไขข้อบกพร่อง
โปรดทราบว่าตัวเลือกนี้กำลังตั้งค่าลำดับความสำคัญของบันทึกเหตุการณ์ในทางเลือก
ล็อกไฟล์ ไม่มีผลกับบันทึกเหตุการณ์ ERROR บน stderr
-NS, --ชื่อ=ชื่อ
ใช้ตัวระบุคอนเทนเนอร์ ชื่อ. รูปแบบตัวระบุคอนเทนเนอร์เป็นตัวอักษรและตัวเลข
เชือก
--รุ่น
แสดงหมายเลขรุ่น
ตัวอย่าง
ในการวางไข่เปลือกใหม่ที่ทำงานอยู่ภายในคอนเทนเนอร์ที่มีอยู่ ให้ใช้
lxc-attach -n คอนเทนเนอร์
ในการเริ่มบริการ cron ของคอนเทนเนอร์ Debian ที่ทำงานอยู่ ให้ใช้
lxc-attach -n คอนเทนเนอร์ -- /etc/init.d/cron การเริ่มต้นใหม่
เพื่อปิดใช้งานการเชื่อมโยงเครือข่าย eth1 ของคอนเทนเนอร์ที่ทำงานอยู่ที่ไม่มี
ความสามารถของ NET_ADMIN ใช้ตัวใดตัวหนึ่ง -e ตัวเลือกในการใช้ความสามารถที่เพิ่มขึ้น สมมติว่า
ip ติดตั้งเครื่องมือแล้ว:
lxc-attach -n คอนเทนเนอร์ -e -- /sbin/ไอพี ลิงค์ ลบ eth1
หรือใช้ -s เพื่อใช้เครื่องมือที่ติดตั้งบนโฮสต์ภายนอก
ภาชนะ:
lxc-attach -n คอนเทนเนอร์ -s เครือข่าย -- /sbin/ไอพี ลิงค์ ลบ eth1
ความเข้ากันได้
การแนบอย่างสมบูรณ์ (รวมถึง pid และเนมสเปซเมาต์) กับคอนเทนเนอร์ต้องใช้a
เคอร์เนลเวอร์ชัน 3.8 หรือสูงกว่า หรือเคอร์เนลที่แพตช์ โปรดดูที่เว็บไซต์ lxc สำหรับ
รายละเอียด lxc-แนบ จะล้มเหลวในกรณีนั้นหากใช้กับเคอร์เนลที่ไม่ได้รับการแพตช์ของเวอร์ชัน 3.7
และก่อนหน้านั้น
อย่างไรก็ตาม มันจะประสบความสำเร็จในเคอร์เนลที่ไม่ได้รับการแก้ไขของเวอร์ชัน 3.0 หรือสูงกว่าหาก -s
ตัวเลือกใช้เพื่อจำกัดเนมสเปซที่จะแนบกระบวนการกับหนึ่งหรือ
เพิ่มเติมจาก เครือข่าย, IPC และ UTSNAME.
การแนบกับเนมสเปซผู้ใช้ได้รับการสนับสนุนโดยเคอร์เนล 3.8 หรือสูงกว่าด้วยการเปิดใช้งานuser
เนมสเปซ
หมายเหตุ
ลินุกซ์ / proc และ / sys ระบบไฟล์มีข้อมูลเกี่ยวกับปริมาณที่
ได้รับผลกระทบจากเนมสเปซ เช่น ไดเร็กทอรีที่ตั้งชื่อตามรหัสกระบวนการใน / proc หรือ
ข้อมูลอินเทอร์เฟซเครือข่ายใน /sys/คลาส/net. เนมสเปซของกระบวนการติดตั้ง the
pseudo-filesystems กำหนดข้อมูลที่แสดง ไม่ เนมสเปซของกระบวนการ
การเข้าถึง / proc or / sys.
หากใครใช้ -s ตัวเลือกที่จะแนบกับ pid เนมสเปซของคอนเทนเนอร์เท่านั้น แต่ไม่ใช่ของมัน
เนมสเปซเมานต์ (ซึ่งจะมี / proc ของภาชนะและไม่ใช่โฮสต์) the
เนื้อหาของ / proc จะสะท้อนถึงเจ้าบ้านไม่ใช่ภาชนะ ในทำนองเดียวกัน
ปัญหาเดียวกันเกิดขึ้นเมื่ออ่านเนื้อหาของ /sys/คลาส/net และติดเพียงแค่
เนมสเปซเครือข่าย
เพื่อแก้ไขปัญหานี้ -R ตั้งค่าสถานะให้ตัวเลือกในการเมานต์ใหม่ / proc และ / sys in
เพื่อให้สอดคล้องกับบริบทเครือข่าย/pid เนมสเปซของกระบวนการที่แนบมา ใน
เพื่อไม่ให้รบกวนระบบไฟล์จริงของโฮสต์ เนมสเปซการเมานต์จะเป็น
unshared (ชอบ lxc-ยกเลิกการแบ่งปัน ทำ) ก่อนที่สิ่งนี้จะเสร็จสิ้นโดยพื้นฐานแล้วให้กระบวนการใหม่
เนมสเปซการเมานต์ ซึ่งเหมือนกับเนมสเปซการเมานต์ของโฮสต์ ยกเว้น / proc
และ / sys ระบบไฟล์
เวอร์ชันก่อนหน้าของ lxc-แนบ ประสบปัญหาข้อผิดพลาดที่ผู้ใช้สามารถแนบไปกับคอนเทนเนอร์
เนมสเปซโดยไม่อยู่ใน cgroup ที่เขียนได้สำหรับระบบย่อยที่สำคัญบางระบบ ใหม่กว่า
รุ่น lxc-แนบ จะตรวจสอบว่าผู้ใช้อยู่ใน cgroup ที่เขียนได้สำหรับเหล่านั้นหรือไม่
ระบบย่อยที่สำคัญ lxc-แนบ อาจล้มเหลวโดยไม่คาดคิดสำหรับผู้ใช้บางคน (เช่น on
ระบบที่ผู้ใช้ที่ไม่มีสิทธิพิเศษไม่ได้อยู่ใน cgroup ที่เขียนได้ในระดับวิกฤต
ระบบย่อยในการเข้าสู่ระบบ.) อย่างไรก็ตาม ลักษณะการทำงานนี้ถูกต้องและปลอดภัยยิ่งขึ้น
การรักษาความปลอดภัย
เทศกาล -e และ -s ควรใช้ด้วยความระมัดระวัง เพราะอาจทำให้การแยกตัวของ
ภาชนะหากใช้ไม่ถูกต้อง
ใช้ lxc-attach ออนไลน์โดยใช้บริการ onworks.net