Score:0

ติดตั้งระบบไฟล์สำหรับกระบวนการทั้งหมดจากภายในบริการ/เว็บเซิร์ฟเวอร์

ธง it

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

เมื่อฉันถอดรหัสไฟล์โดยใช้เว็บไซต์นี้ (ซึ่งเรียก cryptsetup luksOpen) อุปกรณ์ที่ถอดรหัสจะปรากฏตามที่คาดไว้:

> ไฟล์ /dev/mapper/service-volume
/dev/mapper/service-volume: ลิงก์สัญลักษณ์ไปยัง ../dm-0

แต่เมื่อรหัสหลามของฉันพยายามเมานต์สิ่งนี้ ปริมาณการบริการ ติดตั้งภายในกระบวนการของผู้ปฏิบัติงาน apache เท่านั้น ไม่พร้อมใช้งานสำหรับเชลล์หรือกระบวนการอื่น ๆ ของฉัน (XXX คือ PID ของกระบวนการผู้ปฏิบัติงาน apache):

> mountpoint /mnt/service-folder
/mnt/service-folder ไม่ใช่จุดเชื่อมต่อ
> แมว /proc/XXX/เมานต์
...
/dev/mapper/service-volume /mnt/service-folder ext4 rw,relatime 0 0

การดำเนินการเมานต์ที่ดำเนินการคือ sudo /bin/mount /dev/mapper/service-volume /mnt/service-folder กับ pythons subprocess.run()

ดังนั้นคำถามของฉันคือ: เกิดอะไรขึ้นที่นั่น? นี่เป็นเนมสเปซ / กลุ่มกลุ่มมายากลหรือไม่? และจะเมานต์โฟลเดอร์นี้สำหรับบริการ / กระบวนการอื่นที่ไม่ใช่ apache ได้อย่างไร


ข้อมูลเพิ่มเติม:

เดอะ โฟลเดอร์บริการ มีอยู่ (ไม่มีระบบไฟล์ที่เมาท์):

> ls -la /mnt/service-folder
รวม 8
drwxr-xr-x 2 รูทรูท 4096 23 ม.ค. 21:25 น.
drwxr-xr-x 4 รูท รูท 4096 23 ม.ค. 21:25 น.
paladin avatar
id flag
นอกจากนี้ การทำสิ่งเหล่านี้โดยใช้เว็บเซิร์ฟเวอร์ยังอันตราย ไดเร็กทอรี `/mnt/service-folder` ของคุณมีอยู่หรือไม่
Kaemmelot avatar
it flag
ใช่แล้ว ดูคำถามที่อัปเดตของฉัน นอกจากนี้ โปรดทราบว่าเว็บเซิร์ฟเวอร์ติดตั้งระบบไฟล์สำเร็จแล้ว แต่อยู่ในขั้นตอนของผู้ปฏิบัติงานของเว็บเซิร์ฟเวอร์เท่านั้น
paladin avatar
id flag
โดยปกติในการกำหนดค่าเริ่มต้น เว็บเซิร์ฟเวอร์จะทำการ chrooting เป็น `/var/www` ซึ่งหมายความว่าไฟล์/ไดเร็กทอรีอื่นๆ ทั้งหมดจะไม่ปรากฏให้เห็นสำหรับเว็บเซิร์ฟเวอร์ บางทีสิ่งนี้อาจส่งผลกระทบต่อคุณ? ลองติดตั้งใน `/var/www/yoursite/service-folder`
Kaemmelot avatar
it flag
Apache ไม่ chroot และแม้ว่ามันจะ chroot ที่นั่น การดำเนินการติดตั้ง (สำเร็จแล้ว) จะเมานต์ในไดเร็กทอรีย่อยของ `/var/www` ฉันดูในไดเร็กทอรีเหล่านี้และไม่พบอะไรเลย

โพสต์คำตอบ

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