Estou executando uma VM KVM-QEMU dentro de um contêiner LXC sem privilégios. O cliente solicitou que, quando um usuário encerrasse a VM, todo o host fosse desligado.
Eu estou usando um gancho libvirt para desligar o contêiner LXC:
#!/bin/bash
if [[ $1 == "myvm" && $2 == "release" && $3 == "end" ]]; then
poweroff
fi
Eu sei que posso usar o hook pós-stop do LXC para executar sudo poweroff
no nível do host, mas isso significaria que eu teria que permitir que um usuário não root encerrasse o sistema sem senha de root (editando o arquivo sudoers ) que não é desejável.
Gostaria de permitir que a VM (ou root) desligue o host, se possível. Se não, gostaria de permitir que o usuário root do contêiner LXC desligasse o host.
Como posso fazer isso?