Chcę ustawić pełny dostęp do zapisu dla udziału 9p dla gościa KVM. Zarówno gospodarz, jak i gość mają tych samych użytkowników / grupy o tych samych identyfikatorach. Zarówno host, jak i gość powinni mieć możliwość pisania do udziału przy użyciu tych samych nazw użytkowników i nie chcę rozróżniać, czy plik został zapisany przez hosta czy gościa. Proces kvm jest uruchomiony jako root - ustawić user
i group
aby root
w /etc/libvirt/qemu.conf.
W definicji gościa na hoście udział jest zdefiniowany w następujący sposób:
<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>
W gościu udział jest montowany jako:
mount -t 9p -o rw,trans=virtio,version=9p2000.L,msize=262144 data /mnt/data
Problem polega na tym, że użytkownik root w gościu nie może zapisywać do plików / folderów należących do użytkownika innego niż root na hoście. Co dziwniejsze, root gościa może zmieniać nazwy i usuwać takie pliki. To znaczy, kiedy na komputerze hosta tworzę plik jako użytkownik inny niż root, po prostu nie mogę go edytować jako root gościa, nawet jeśli mogę zmienić nazwę i usunąć go!
Odkryłem również, że jeśli folder utworzony na hoście przez użytkownika innego niż root ma uprawnienia ustawione na 777, root gościa może do niego pisać (tzn. Tworzyć w nim pliki). Nie dotyczy to jednak plików - nadal nie można ich edytować bez względu na uprawnienia.
Zarówno host, jak i gość korzystają z serwera Linux 3.2.0-4-amd64 # 1 SMP Debian 3.2.51-1 x86_64 GNU / Linux. W Debianie SELinux jest domyślnie wyłączony i nie włączyłem go. Próbowałem wszystkich trzech dostępnych trybów dostępu 9p ( passthrough
, mapped
i squash
) - nie ma różnicy.
Zastanawiam się tylko, czy mogę coś ulepszyć, aby działało, czy to tylko błąd?
Zauważ, że zgłaszany jest podobny problem: Dostęp do odczytu / zapisu dla systemów plików tranzytowych (9p) z libvirt / qemu? ale w przeciwieństwie do tego przypadku, mam 100% dostęp do zapisu, gdzie pliki należące do roota, to tylko pliki użytkownika innego niż root, których nie mogę zapisać nawet jako root na gościu.