
¿Por qué root no sabe acerca de los invitados KVM de un usuario normal?
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#
Respuesta1
¿Por qué root no sabe acerca de los invitados KVM de un usuario normal?
Esto se debe a que el comando virsh
funciona en el contexto del usuario actual.
Para que un usuario arbitrario (por ejemplo, root
) ejecute el comando en el contexto de otro usuario, debemos ejecutar el comando en el contexto de ese usuario.
Para hacer esto posible, pkexec
el comando puede ayudar, si estás en el sistema Debian, el primer paso es instalarlo de la siguiente manera:
sudo apt install pkexec
Si está en alguna otra distribución que no usa, apt
use el administrador de paquetes de su distribución para instalar pkexec
en lugar deapt
Luego, si no es así root
, inicie sesión root
para probar:
sudo -s
Y ejecute el comando en el contexto del usuario nombradouser
pkexec --user user virsh list --all
Debería generar máquinas virtuales del usuario nombradouser