Administrar QEMU/KVM con otro usuario diferente de root
En esta odisea en la que he incursionado han salido diferentes dudas y como siempre las trato de plantear en un ambiente real "laboral" por así decirlo, y soy de la idea que usar root y un sudo que diga usuario ALL=(ALL) ALL; es lo mismo que darse un balazo en el pie.
Para atender a ello tendremos que hacer lo siguiente:
Hay que crear un archivo con la extensión .pkla
Por ejemplo:
Y con el siguiente contenido
La sugerencia, es usar el grupo de "libvirt" dado que se crear al instalar libvirt o generarlo
Obviamente hay que cambiar la palabra rafex por el usuario que desean agregarlo a ese grupo
Con esto cualquier usuario que pertenezca a ese grupo podrá administrar las máquinas virtuales
Si se desea hacer con grupos y usuarios específicos sería así:
Documentación oficial en Wiki Libvirt
Y listo.
Para atender a ello tendremos que hacer lo siguiente:
Hay que crear un archivo con la extensión .pkla
Por ejemplo:
/etc/polkit-1/localauthority/50-local.d/50-org.example-libvirt-remote-access.pkla
Y con el siguiente contenido
[Remote libvirt SSH access]
Identity=unix-group:group_name
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes
La sugerencia, es usar el grupo de "libvirt" dado que se crear al instalar libvirt o generarlo
groupadd libvirt && usermod -G libvirt -a rafex
Obviamente hay que cambiar la palabra rafex por el usuario que desean agregarlo a ese grupo
[libvirt Management Access]
Identity=unix-group:libvirt
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes
Con esto cualquier usuario que pertenezca a ese grupo podrá administrar las máquinas virtuales
Si se desea hacer con grupos y usuarios específicos sería así:
[Remote libvirt SSH access]
Identity=unix-group:group_name1;unix-user:user_name1;unix-user:user_name2;unix-group:group_name2
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes
Documentación oficial en Wiki Libvirt
Y listo.
Comentarios