Gość KVM nie może pisać do udziału 9p należącego do użytkownika innego niż root

14

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ć useri groupaby rootw /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, mappedi 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.

Greendrake
źródło
2
Tylko dla informacji, nigdy nie udało mi się, aby działał poprawnie i napotkałem wszystkie te same problemy. W związku z tym implementacje przekazywania systemu plików p9 zostały przestarzałe w najnowszych wersjach qemu / libvirt.
Spooler
2
Podobnie tutaj. Red Hat wydaje się myśleć, że 9p nie jest gotowy na najwyższy czas .
Diagon

Odpowiedzi:

0

Czy możesz sprawdzić dodatkowe atrybuty systemu plików, takie jak acl w katalogu współdzielonym? Podejrzewam problem z uprawnieniami.

asktyagi
źródło