คำถามติดแท็ก chroot

chroot เป็นคำสั่งบนระบบที่เหมือน UNIX ซึ่งรันกระบวนการภายใต้ไดเร็กทอรีรูทอื่น

6
ภูเขา dev, proc, sys ในสภาพแวดล้อม chroot?
ฉันกำลังพยายามสร้างอิมเมจ Linux พร้อมแพ็คเกจที่เลือกเอง สิ่งที่ฉันกำลังพยายามทำคือส่งมอบแพ็คเกจที่ฉันจะใช้บนแล็ปท็อป XO เพราะการรวบรวมแพ็คเกจใช้เวลานานมากบนฮาร์ดแวร์ XO จริงถ้าฉันสามารถสร้างแพ็คเกจทั้งหมดที่ฉันต้องการและเพียงแค่แฟลช รูปไป XO ฉันสามารถประหยัดเวลาและพื้นที่ เมื่อฉันพยายามติดตั้งแพคเกจบางอย่างมันล้มเหลวในการกำหนดค่าเนื่องจากไม่มีไดเรกทอรี proc, sys, dev ดังนั้นฉันเรียนรู้จากที่อื่น ๆ ที่ฉันต้องการ "ติดตั้ง" โฮสต์ proc, ... ไดเรกทอรีไปยังสภาพแวดล้อม chroot ของฉัน ฉันเห็นรูปแบบไวยากรณ์สองอันและไม่แน่ใจว่าจะใช้รูปแบบใด ในเครื่องโฮสต์: mount --bind /proc <chroot dir>/proc และไวยากรณ์อื่น (ในสภาพแวดล้อม chroot): mount -t proc none /proc ฉันควรใช้อันไหนดีและอะไรคือความแตกต่าง?
87 linux  debian  chroot 

1
วิธีที่เหมาะสมในการจัดเตรียม chroot เพื่อกู้คืนการติดตั้ง Linux ที่เสียหายคืออะไร
คำถามนี้เกี่ยวข้องกับคำถามที่ถามบ่อย กระบวนการดังกล่าวถูกกล่าวถึงบ่อยครั้งหรือเชื่อมโยงกับนอกสถานที่ แต่ไม่ได้ระบุอย่างชัดเจนและถูกต้อง ในวัตถุประสงค์เพื่อรวบรวมข้อมูลที่เป็นประโยชน์ไว้ในที่เดียวคำถามนี้พยายามให้การอ้างอิงที่ชัดเจนและถูกต้องสำหรับกระบวนการนี้ ขั้นตอนที่เหมาะสมในการเตรียมสภาพแวดล้อมchrootสำหรับกระบวนการกู้คืนคืออะไร? ในหลาย ๆ สถานการณ์การซ่อมแซมการติดตั้ง Linux ที่เสียหายนั้นทำได้ดีที่สุดจากภายในการติดตั้ง แต่ถ้าระบบไม่บู๊ตคุณจะแก้ไขจากภายในอย่างไร สมมติว่าคุณจัดการเพื่อบูตเข้าสู่ระบบทางเลือก คุณจะต้องเข้าถึงการติดตั้งที่ชำรุดเพื่อแก้ไข วิธีการกู้คืน จำนวนมากแนะนำให้ใช้chrootเพื่อเรียกใช้โปรแกรมราวกับว่าคุณถูกบูตเข้าสู่การติดตั้งที่เสียหาย ขั้นตอนพื้นฐานคืออะไร? มีวิธีปฏิบัติที่ดีที่สุดที่ควรปฏิบัติตามหรือไม่? ต้องพิจารณาตัวแปรใดบ้างเพื่อปรับขั้นตอนการเตรียมพื้นฐานให้เหมาะกับภารกิจการกู้คืนเฉพาะ เนื่องจากนี่คือ Community Wiki โปรดแก้ไขคำถามนี้เพื่อปรับปรุงให้ดีขึ้น

7
เริ่มบริการ systemd ภายใน chroot
ด้วยสคริปต์เริ่มต้น (หรือด้วย openrc) ฉันสามารถเรียกใช้บริการจากรูทการติดตั้งอื่นได้เสมอ แต่เมื่อฉันวิ่งchroot /somepath/to_root /usr/bin/systemctl start someserviceฉันได้: Running in chroot, ignoring request. มีวิธีบังคับให้ systemd เปิดใช้บริการหรือไม่? อัปเดต: ฉันลืมที่จะพูดว่าระบบโฮสต์ของฉันเรียกใช้สคริปต์ init หรือ openrc แต่ไม่เคย systemd และฉันใช้ chroot เพื่อแก้ไขปัญหาระบบ Unix ที่ไม่สามารถแม้แต่จะเปิดตัวเชลล์ขั้นต่ำ
38 unix  systemd  chroot 

1
ผู้ใช้ chrooted sftp พร้อมสิทธิ์การเขียนไปที่ / var / www
ฉันสับสนเกี่ยวกับการตั้งค่าที่ฉันพยายามปรับใช้นี้ ฉันหวังว่าบางคนในพวกคุณจะให้ความช่วยเหลือฉันได้ ข้อมูลความเป็นมา เซิร์ฟเวอร์คือ Debian 6.0, ext3 โดยมี Apache2 / SSL และ Nginx ที่ด้านหน้าเป็น reverse proxy ฉันต้องการให้ sftp เข้าถึงไดเรกทอรีราก Apache (/ var / www) ตรวจสอบให้แน่ใจว่าผู้ใช้ sftp chrooted ไปยังเส้นทางนั้นด้วยสิทธิ์ RWX ทั้งหมดนี้ไม่ต้องแก้ไขการอนุญาตเริ่มต้นใน / var / www drwxr-xr-x 9 root root 4096 Nov 4 22:46 www ภายใน / var / www -rw-r----- 1 …

1
วิธีเพิ่มพอยน์เตอร์ในระบบไฟล์นอกสภาพแวดล้อม chrooted - โดยใช้ chrooted SFTP ผ่าน OpenSSH
ดังนั้นฉันค่อนข้างมั่นใจว่านี่เป็นเรื่องจริง แต่ฉันไม่พบข้อมูลอ้างอิงที่เป็นรายละเอียดเฉพาะที่ตอบคำถามของฉันโดยตรง คำถามคือ: ฉันจะเพิ่มการเข้าถึงทรัพยากรที่อยู่นอกสภาพแวดล้อม chroot ได้อย่างไร ฉันได้ตั้งค่า chroot SFTP โดยใช้คำสั่ง ChrootDirectory newish ของ OpenSSH น่าเสียดายที่ในสภาพแวดล้อมของฉันฉันไม่สามารถ จำกัด chroot โดยตรงไปยังไดเรกทอรีหลักที่ทรัพยากรผู้ใช้บางคนอยู่ ดังนั้นฉันจึงสร้างพื้นที่ chroot แยกต่างหากและกำลังเชื่อมโยงในทรัพยากรที่จำเป็น ฉันพยายามใช้ symlinks เพื่อทำสิ่งนี้ เช่น ln -s /path/to/resource /chroot/dir/resource แต่นั่นมีข้อผิดพลาด "ไม่สามารถยอมรับแบบบัญญัติไม่พบ" ดังนั้นทางออกของฉันคือใช้ผูกติด: mount --bind /path/to/resource /chroot/dir/resource ที่ได้ผล จริงๆแล้วฉันแค่ต้องการการยืนยันทั่วไปว่า symlink ไม่ทำงาน ลิงก์ไปยังข้อมูลอ้างอิงที่ดีซึ่งอธิบายว่าสิ่งนี้จะดีเช่นกัน
8 sftp  openssh  chroot 


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

1
วิธีการซ่อนไดเรกทอรีย่อยในไดเรกทอรี chrooted จากผู้ใช้ที่ไม่มีสิทธิ์เข้าถึง
ขออภัยหากปัญหานี้ได้รับคำตอบก่อน / ที่อื่น ฉันเคยตามล่าไป แต่ไม่สามารถหาอะไรได้เลย ถ้าเป็นเช่นนั้นโปรดชี้ฉันในทิศทางที่ถูกต้อง ฉันใช้เซิร์ฟเวอร์ ftp linux (UB10) กับ ssh และ vsftp ฉันมีกลุ่มผู้ใช้ที่ chrooted ไปยังไดเรกทอรี (/ ไฟล์) ผู้ใช้แต่ละคนต้องการการเข้าถึงอย่างน้อยหนึ่งไดเรกทอรีย่อยภายใน - ผู้ใช้ 1 มีการเข้าถึง / files / 1 ผู้ใช้ 2 มีสิทธิ์เข้าถึง / files / 2 ผู้ใช้ 3 ถึง / files / 3 ฉันต้องการเพิ่มผู้ใช้คนที่ 4 ที่สามารถเข้าถึงทั้ง / files / 1 และ …
1 linux  ssh  users  chroot 

1
เอาต์พุตคำสั่งไฟล์ - เวอร์ชัน linux
ทำไมสอง executables จึงแสดงเวอร์ชั่นต่างกันสำหรับ linux เมื่อรวบรวมข้ามคอมไพล์ภายใต้สภาพแวดล้อม chroot GNU / Linux 3.6.3 GNU / Linux 2.6.26, สวัสดีผลลัพธ์ของโปรแกรมโลก ignite@ignite:~/sbox2/rootfs/rfs-raspbian/home/pi$ file abc abc: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.6.3, not stripped เซิร์ฟเวอร์ของฉันแสดงผลสัญญาณออก /vscp/daemon/linux$ file vscpd vscpd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), …

1
su ใน Debian chroot ให้ข้อผิดพลาดร้ายแรง (ระบบฝังตัว)
ฉันพยายามติดตั้ง Debian jessie ภายใน chroot บนระบบฝังตัว (QNAP NAS พร้อมเคอร์เนล 2.6.33.2) ผมทำงานประสบความสำเร็จในdebootstrapการติดตั้งระบบฐานและ chroot apt-getทำงานอย่างถูกต้องเพราะฉันสามารถที่จะปรับปรุงแพคเกจโดยใช้ ปัญหาเกิดขึ้นเมื่อมีการเพิ่มผู้ใช้ใหม่: suเสมอพิมพ์su: ข้อผิดพลาดที่สำคัญ - การยกเลิกทันที นี่คืองานพิมพ์: CHROOT:/# whoami root CHROOT:/# id uid=0(root) gid=0(root) groups=0(root),100(users) CHROOT:/# su root su: Critical error - immediate abort CHROOT:/# adduser newuser Adding user `newuser' ... Adding new group `newuser' (1000) ... Adding …
linux  debian  chroot  su  pam 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.