Por padrão, usuários não-root não podem acessar o libvirtd diretamente, a menos que seja concedida autorização explicitamente.
Eu fiz isso usando o PolicyKit :
# cat /etc/polkit-1/rules.d/50-org.libvirt.unix.manage.rules
polkit.addRule(function(action, subject) {
if (action.id == "org.libvirt.unix.manage" &&
subject.user == "nrpe") {
return polkit.Result.YES;
polkit.log("action=" + action);
polkit.log("subject=" + subject);
}
});
Isso permitirá que o usuário nrpe
faça o que quiser com o libvirtd sem precisar de senha.
Segundo, os usuários não-root precisam especificar a URL de conexão explicitamente para acessar o sistema libvirtd.
virsh --connect qemu:///system list --all