9p / virtfs: новые файлы в общей папке не принадлежат ожидаемому пользователю и группе
В течение последних двух дней я пытался открыть общий доступ к папке между хостом и гостевой виртуальной машиной, обе из которых используют последнюю версию Debian Stretch.
Папка, которой я хочу поделиться, принадлежит myuser
, группа mygroup
на жестком диске хоста (/srv/sharedfolder
). Поскольку гостем является сервер LAMP, на котором работает Nextcloud, я хочу получить доступ к этой общей папке и записать ее как www-data:www-data
,
Поэтому я создал файловую систему libvirt с Default
водитель и Mapped
Режим:
<filesystem type='mount' accessmode='mapped'>
<source dir='/srv/sharedfolder'/>
<target dir='sharedfolder'/>
<alias name='fs0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</filesystem>
Mapped
кажется хорошим выбором, как написано на suse.com:
Учетные данные пользователя и учетные данные клиента сохраняются в расширенных атрибутах. Эта модель рекомендуется, когда хост и гостевые домены должны быть полностью изолированы.
На принимающей стороне:
- пользователь и группа в
/etc/libvirt/qemu.conf
установлены вmyuser
а такжеmygroup
- общая папка была "chmoded" с
chmod 775
На гостевой стороне:
- точка монтирования общей папки принадлежит
www-data:www-data
fstab ( с ссылкой на kernel.org):
sharedfolder / srv / sharedfolder 9p trans = virtio, версия =9p2000.L,rw,nofail 0 0
До сих пор я могу читать и писать общую папку как www-data
Таким образом, миссия, кажется, выполнена.
Но когда новый файл создается на главном файле myuser
в общей папке новый файл рассматривается как принадлежащий myuser:myuser
гостем (в то время как я ожидал, что это будет принадлежать www-data:www-data
).
И что же мне делать? Заранее спасибо.