Uma vez eu tive um problema muito semelhante, fornecendo acesso de leitura / gravação para a pasta compartilhada. Foi possível ler arquivos, mas não tive permissão para gravar arquivos na pasta de caminho de origem compartilhada.
A causa raiz é que o sistema guest está sendo executado como libvirt-qemu
user. O que você deve fazer para criar arquivos a partir do sistema convidado em execução na pasta compartilhada montada são estas etapas:
Em Virt-Manager
- > Add Hardware
- > Filesystem
selecione Mapped
como Mode
configuração para a VM.
Alterar permissões para as pastas compartilhadas: sudo chmod -R 777 /<path-to-shared-folder>
Altere o proprietário para seu nome de usuário: sudo chown -R user:user /<path-to-shared folder>
Altere as permissões para arquivos de disco virtual: sudo chmod -R 777 /<path-to-virtual-disks>
Altere o proprietário para seu nome de usuário: sudo chown -R user:user /<path-to-virtual-disks>
Adicione seu nome de usuário ao grupo libvirtd
: sudo usermod -G libvirtd -a <your-user-name>
Conceder permissões completas ao libvirt-qemu
user: sudo setfacl -R -m u:libvirt-qemu:rwx /*
Nota: * = Especifique a hierarquia do diretório de pastas que você deseja atribuir às permissões libvirt-qemu
.
Reinicialize os sistemas operacionais do host ... agora você deve ser capaz de criar arquivos no sistema convidado.
Informações sobre 9p virtio - > Compartilhando arquivos do host com o convidado | Documentação do QEMU 9psetup
Mode
especifica o modo de segurança para acessar a origem. Mapped
especifica que a origem é acessada com as configurações de permissão do hipervisor. Passthrough
especifica que a origem é acessada com as configurações de permissão do usuário definidas de dentro da máquina virtual convidada. Este é o modo padrão. Squash
é semelhante a Passthrough
, a diferença é que a falha de operações privilegiadas como chown
é ignorada, o que torna um modo Passthrough
utilizável para usuários que estão executando o hipervisor sem privilégios elevados.