ผู้เยี่ยมชม KVM ไม่สามารถเขียนไปยังการแบ่งปัน 9p ซึ่งไม่ใช่ผู้ใช้รูท


14

ฉันตั้งเป้าหมายที่จะตั้งค่าการเข้าถึงแบบเขียนเต็มเพื่อแชร์ 9p สำหรับแขก KVM ทั้งโฮสต์และแขกมีผู้ใช้ / กลุ่มเดียวกันกับ ID เดียวกัน ทั้งโฮสต์และแขกควรจะสามารถเขียนไปยังการแบ่งปันโดยใช้ชื่อผู้ใช้เดียวกันและฉันไม่ต้องการแยกแยะว่าไฟล์นั้นเขียนโดยโฮสต์หรือแขก กระบวนการ kvm ทำงานเป็นรูท - ฉันตั้งค่าuserและgroupเป็นroot/etc/libvirt/qemu.conf

ในคำจำกัดความผู้มาเยี่ยมชมบนโฮสต์การแชร์ถูกกำหนดดังนี้:

<filesystem type='mount' accessmode='passthrough'>
  <source dir='/mnt/storage/data'/>
  <target dir='data'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</filesystem>

ในแขกรับเชิญจะถูกติดตั้งเป็น:

mount -t 9p -o rw,trans=virtio,version=9p2000.L,msize=262144 data /mnt/data

ปัญหาคือผู้ใช้รูทในแขกไม่สามารถเขียนไปยังไฟล์ / โฟลเดอร์ที่เป็นเจ้าของโดยผู้ใช้ที่ไม่ใช่รูทบนโฮสต์ ยิ่งไปกว่านั้นรูทของแขกสามารถเปลี่ยนชื่อและลบไฟล์ดังกล่าวได้ นั่นคือเมื่อบนเครื่องโฮสต์ฉันสร้างไฟล์ในฐานะผู้ใช้ที่ไม่ใช่รูทฉันก็ไม่สามารถแก้ไขได้ในฐานะรูทของผู้เยี่ยมชมแม้ว่าฉันจะสามารถเปลี่ยนชื่อและลบมันได้!

ฉันยังพบว่าที่โฟลเดอร์ที่สร้างขึ้นบนโฮสต์ภายใต้ผู้ใช้ที่ไม่ใช่รูทมีสิทธิ์ตั้งไว้ที่ 777 รูทของแขกสามารถเขียนลงไปได้ (เช่นสร้างไฟล์ในนั้น) อย่างไรก็ตามสิ่งนี้ใช้ไม่ได้กับไฟล์ - ไฟล์เหล่านั้นยังไม่สามารถแก้ไขได้โดยไม่คำนึงถึงสิทธิ์

ทั้งโฮสต์และแขกกำลังใช้งานเซิร์ฟเวอร์ Linux 3.2.0-4-amd64 # 1 SMP Debian 3.2.51-1 x86_64 GNU / Linux ใน Debian, SELinux ถูกปิดใช้งานโดยค่าเริ่มต้นและฉันไม่ได้เปิดใช้งาน ฉันพยายามทั้งสามโหมดการเข้าถึง 9p ใช้ได้ ( passthrough, mappedและsquash) - ไม่แตกต่างกัน

แค่สงสัยว่ามีอะไรที่ฉันสามารถปรับแต่งเพื่อให้มันใช้งานได้หรือมันเป็นแค่ข้อบกพร่อง?

ทราบว่ามีปัญหาที่คล้ายกันรายงานที่นี่: การเข้าถึงการอ่าน / เขียนสำหรับระบบไฟล์ passthrough (9p) ด้วย libvirt / qemu? แต่แตกต่างจากกรณีนี้ฉันมีสิทธิ์เข้าถึงการเขียน 100% โดยที่ root เป็นเจ้าของไฟล์มันเป็นแค่ไฟล์ผู้ใช้ที่ไม่ใช่ root ที่ฉันไม่สามารถเขียนแม้แต่เป็น root บน guest


2
สำหรับข้อมูลฉันไม่เคยได้รับสิ่งนี้เพื่อทำงานอย่างถูกต้องและทำงานเป็นปัญหาเดียวกันทั้งหมดเหล่านี้ ดังนั้นการปรับใช้ passthrough ของระบบไฟล์ p9 จึงถูกเลิกใช้ในเวอร์ชัน qemu / libvirt ล่าสุด
Spooler

2
ในทำนองเดียวกันที่นี่ หมวกสีแดงดูเหมือนจะคิด 9p ที่เป็นไม่พร้อมสำหรับเวลาที่สำคัญ
Diagon

คำตอบ:


0

คุณสามารถตรวจสอบคุณสมบัติเพิ่มเติมของระบบแฟ้มเช่น acl ในไดเรกทอรีที่ใช้ร่วมกันได้หรือไม่? ฉันกำลังสงสัยปัญหาการอนุญาต

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