Dostęp do odczytu / zapisu dla systemów plików przejściowych (9p) z libvirt / qemu?


14

Niedawno zacząłem eksperymentować ze wsparciem dla systemów plików przejściowych w najnowszych wersjach KVM / QEMU / libvirt. Udostępnienie systemów plików dla dostępu do odczytu „po prostu działało”, ale jestem trochę zaskoczony tym, jak powinien działać dostęp do zapisu. Po zamontowaniu systemu plików w gościu:

# mount -t 9p -o trans=virtio /fs/data /mnt

Mogę zmodyfikować istniejący plik, jeśli ma tryb o+w:

# cd /mnt/work
# ls -l foo
-rw-rw-rw-. 1 root root 17 Dec 20 11:16 foo
# cat foo
this is line one
# echo this is line two >> foo
# cat foo
this is line one
this is line two

Ale bez względu na uprawnienia do katalogu nie mogę utworzyć nowego pliku lub katalogu:

# ls -ld /mnt/work
drwxrwxrwx. 2 root root 4096 Dec 20 11:16 /mnt/work
# cd /mnt/work
# touch bar
touch: setting times of `bar': No such file or directory
# mkdir bar
# mkdir: cannot create directory `bar': Operation not permitted

Dokumentacja, którą udało mi się znaleźć (np. To ), nie odnosi się wyraźnie do tego problemu. Mam nadzieję, że ktoś tutaj w Serverfault pomoże mi skonfigurować system plików przekazywania, który pozwoli mi przyznać dostęp do zapisu użytkownikowi w systemie gościa do systemu plików hosta.


Czy na pewno podłączyłeś system plików do odczytu / zapisu? Czy potrafisz tworzyć pliki? Czy tworzysz pliki jako użytkownik root lub zwykły użytkownik (tak, widzę twój #, ale mógłbyś to napisać ręcznie)?
— Janus Troelsen,

Czy udało ci się to rozwiązać? Mam podobny problem polegający na tym, że nie mogę pisać na ścieżce fs zamontowanego hosta w gościu.
— Shoan,

Tak naprawdę nigdy nie poczyniłem żadnych postępów. To była dla mnie niszowa aplikacja ... Generalnie nie uruchamiam gości KVM w miejscach, w których przydatny byłby dostęp do lokalnego systemu plików. Zacząłem uruchamiać VirtualBox na pulpicie, gdzie od czasu do czasu chcę tę funkcję.
— larsks

Czy widzisz jakiś alert selinux na fizycznym hoście lub gościu?
— c4f4t0r

Odpowiedzi:


5

Wydaje mi się to problemem z uprawnieniami hosta:

Domyślnie proces qemu / kvm jest uruchamiany jako użytkownik nieuprzywilejowany (libvirt-qemu w Debian Wheezy). Zatem tylko pliki dostępne (lub zapisywalne) przez tego użytkownika są dostępne (zapisywalne) przez gości VM.

Możesz spróbować ustawić własność katalogu dla użytkownika qemu jest uruchamiany jako (patrz użytkownik = i grupa = w /etc/libvirt/qemu.conf)

Może to pomaga w twoim przypadku?


1
Próbowałem tego w moim przypadku, co jest tym samym co to pytanie , ale nie mogę go uruchomić, nawet przy wyłączonym zbroi.
— Przekątna

0

podczas uruchamiania monitora qemu w powłoce należy dodać „sudo” jako prefiks. Zrobiłem to, aby rozwiązać problem z uprawnieniami podczas tworzenia pliku lub folderu. moim środowiskiem jest ubuntu16.04 + qemu-2.12.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.