Root não vê convidados KVM de não superusuários

Root não vê convidados KVM de não superusuários

Por que o root não sabe sobre os convidados KVM de um usuário comum?

user@Lin0011:~$ virsh list --all
 Id   Name         State
-----------------------------
 -    Lin0021   shut off

user@Lin0011:~$ 
root@Lin011# virsh list --all
 Id   Name   State
--------------------

root@Lin011# 
user@Lin0011:~$ virsh uri
qemu:///session

user@Lin0011:~$ 
user@Lin0011:~$ 
user@Lin0011:~$ env | grep VIR
user@Lin0011:~$ 
root@Lin011# virsh uri
qemu:///system

root@Lin011# 
root@Lin011# 
root@Lin011# env | grep VIR
root@Lin011# 


Responder1

Por que o root não sabe sobre os convidados KVM de um usuário comum?

Isso ocorre porque o comando virshfunciona no contexto do usuário atual.

Para que um usuário arbitrário (ex. root) execute o comando no contexto de outro usuário, precisamos executar o comando no contexto desse usuário.

Para tornar isso possível pkexeco comando pode ajudar, se você estiver no sistema Debian o primeiro passo é instalá-lo da seguinte forma:

sudo apt install pkexec

Se você estiver em alguma outra distribuição que não usa, aptuse o gerenciador de pacotes da distribuição para instalar pkexecem vez deapt

Então, se não estiver root, faça login para roottestar:

sudo -s

E execute o comando no contexto do usuário chamadouser

pkexec --user user virsh list --all

Deve gerar máquinas virtuais do usuário nomeadouser

informação relacionada