Гость KVM не может записывать в 9p общий ресурс, принадлежащий не-root


14

Я собираюсь настроить полный доступ на запись к общему ресурсу 9p для гостя KVM. И хост, и гость имеют одинаковых пользователей / группы с одинаковыми идентификаторами. И хост, и гость должны иметь возможность записи в общий ресурс с использованием одинаковых имен пользователей, и я не хочу различать, был ли файл записан хостом или гостем. Процесс квм работает как корень - I набор 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

Проблема в том, что пользователь root в гостевой системе не может записывать в файлы / папки, принадлежащие пользователю без полномочий root на хосте. Еще более странно, что корень гостя может переименовывать и удалять такие файлы. То есть, когда на хост-компьютере я создаю файл как пользователь без полномочий root, я просто не могу отредактировать его как корень гостя, даже если я могу переименовать и удалить его!

Я также обнаружил, что если папка, созданная на хосте под пользователем без полномочий root, имеет разрешения, установленные на 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 на гостевой системе.


2
Просто для информации, я никогда не заставлял это работать правильно, и столкнулся со всеми теми же проблемами. Следовательно, реализации последних версий файловой системы p9 устарели в последних версиях qemu / libvirt.
Спулер

2
Точно так же и здесь. Красная шляпа, кажется, думает, что 9p не готов в прайм-тайм .
Косой

Ответы:


0

Можете ли вы проверить дополнительные атрибуты файловой системы, такие как acl в общем каталоге? Я подозреваю, проблема разрешения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.