
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 virsh
funciona 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 pkexec
o 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, apt
use o gerenciador de pacotes da distribuição para instalar pkexec
em vez deapt
Então, se não estiver root
, faça login para root
testar:
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