Saya bertujuan untuk mengatur akses tulis penuh ke bagian 9p untuk tamu KVM. Tuan rumah dan tamu memiliki pengguna / grup yang sama dengan ID yang sama. Baik host dan guest harus dapat menulis ke share menggunakan nama pengguna yang sama dan saya tidak ingin membedakan apakah suatu file ditulis oleh host atau guest. Proses KVM berjalan sebagai root - Saya set user
dan group
untuk root
di /etc/libvirt/qemu.conf.
Dalam definisi tamu tentang tuan rumah, pembagian didefinisikan sebagai berikut:
<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>
Di tamu, pembagian dipasang sebagai:
mount -t 9p -o rw,trans=virtio,version=9p2000.L,msize=262144 data /mnt/data
Masalahnya adalah bahwa pengguna root di tamu tidak dapat menulis ke file / folder yang dimiliki oleh pengguna non-root pada host. Yang lebih anehnya, root tamu dapat mengganti nama dan menghapus file-file tersebut. Yaitu, ketika di mesin host saya membuat file sebagai pengguna non-root, saya kemudian tidak bisa mengeditnya sebagai root tamu, meskipun saya bisa mengganti nama dan menghapusnya!
Saya juga menemukan bahwa di mana folder yang dibuat pada host di bawah pengguna non-root memiliki izinnya diatur ke 777, root guest dapat menulis padanya (yaitu membuat file di dalamnya). Namun, ini tidak berlaku untuk file - mereka masih tidak dapat diedit terlepas dari izin.
Tuan rumah dan tamu menjalankan server Linux 3.2.0-4-amd64 # 1 SMP Debian 3.2.51-1 x86_64 GNU / Linux. Di Debian, SELinux dinonaktifkan secara default dan saya tidak mengaktifkannya. Saya mencoba ketiga mode akses 9p yang tersedia ( passthrough
, mapped
dan squash
) - tidak ada perbedaan.
Hanya ingin tahu apakah ada sesuatu yang dapat saya atur untuk membuatnya berfungsi, atau hanya bug?
Catatan ada masalah serupa yang dilaporkan di sini: Akses baca / tulis untuk sistem berkas passthrough (9p) dengan libvirt / qemu? tetapi tidak seperti kasus itu, saya memiliki akses tulis 100% di mana file yang dimiliki oleh root, itu hanya file pengguna non-root yang saya tidak dapat menulis bahkan menjadi root pada tamu.