Eu sei que este é um segmento antigo, mas acabei de encontrar um problema semelhante e encontrei uma solução que funciona pelo menos em partes .
Eu também alterei os valores de usuário e grupo em /etc/libvirt/qemu.conf
para root , como você fez.
Mas também alterei a dynamic_ownership
configuração , porque a descrição parecia promissora:
Minha configuração é:
- Anfitrião: Debian 8 (Jessie)
- Convidado: Debian 8 (Jessie)
- a pasta compartilhada no host pertence a
root
- usuário local w / id 1000 é membro do grupo
libvirt
(pode ser importante) - ponto de montagem no convidado (
/mnt/data
) pertence ao usuário 1000 ("alexander")
Agora posso escrever arquivos na pasta compartilhada montada com ambos root (0) e alexander (1000). (antes de fazer isso, apenas o root tinha permissão para gravar arquivos aqui)
A configuração de dynamic_ownership
para 0 é o que deve ser feito no modo de acesso "mapeado".
Veja mais algumas informações sobre minha configuração:
/etc/libvirt/qemu.conf:
user = "root"
group = "root"
dynamic_ownership = 0
sistema de arquivos (virsh edit):
<!-- ... -->
<filesystem type='mount' accessmode='mapped'>
<source dir='/share/vm.localdomain/owncloud_data'/>
<target dir='/data'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
</filesystem>
<!-- ... -->
Anfitrião:
ls -al /share/vm.localdomain/owncloud_data/
total 8
drwxr-xr-x 2 root root 4096 Sep 8 00:15 .
drwxr-xr-x 7 root root 4096 Sep 8 00:10 ..
fstab no convidado:
/data /mnt/data/ 9p trans=virtio 0 0
Convidado:
root@debian:~# cd /mnt/data
root@debian:/mnt/data# touch touched_by_root
root@debian:/mnt/data# su - alexander
alexander@debian:~$ cd /mnt/data
alexander@debian:/mnt/data$ touch touched_by_user
alexander@debian:/mnt/data$ ls -al
total 16
drwxr-xr-x 2 alexander alexander 4096 Sep 8 00:30 .
drwxr-xr-x 6 root root 4096 Sep 7 18:13 ..
-rw-r--r-- 1 root root 0 Sep 8 00:30 touched_by_root
-rw-r--r-- 1 alexander alexander 0 Sep 8 00:30 touched_by_user
de volta ao host:
root@Host /share/vm.localdomain # ls -al /share/vm.localdomain/owncloud_data/
total 16
drwxr-xr-x 2 root root 4096 Sep 8 00:30 .
drwxr-xr-x 7 root root 4096 Sep 8 00:10 ..
-rw------- 1 root libvirt-qemu 0 Sep 8 00:30 touched_by_root
-rw------- 1 root libvirt-qemu 0 Sep 8 00:30 touched_by_user
conclusão
O mais estranho é que no guest esses dois arquivos pertencem a usuários diferentes (root vs. alexander), enquanto que no host, ambos os arquivos pertencem ao mesmo usuário (root: libvirt-qemu). : -O
Eu não sei exatamente como essa mágica funciona, mas parece que sim.
Espero que isso ajude,
Alexandre