Tenho VM em execução no qemu-kvm. Estou gerenciando isso com libvirt e a ferramenta de linha de comando virsh.
Quero gravar a saída de áudio da VM. Aqui está o que estou tentando -
virsh qemu-monitor-command -hmp VM_NAME wavcapture VM.wav
Esta é a saída que estou obtendo:
Failed to open wave file `vm.wav'
Reason: Permission denied
Failed to add wave capture
Tentei criar um vm.wav fictício com 777 permissões. Mas ainda recebo o mesmo erro.
Responder1
OK. Acho que precisarei responder minha própria pergunta. Acontece que a libvirt usa apparmor para segurança de VMs. Portanto, a VM não tem acesso de leitura/gravação a muitos locais. Para usar o wavcapture, precisamos fornecer acesso à VM por meio de regras de apparmor. A maneira simples de fazer isso é editar /etc/apparmor.d/abstractions/libvirt-qemu e adicionar sua regra. Em seguida, pare e inicie a VM e recarregue o apparmor.