我正在非特权 LXC 容器内运行 KVM-QEMU 虚拟机。客户要求当用户关闭虚拟机时,整个主机也会关闭。
我正在使用 libvirt hook 来关闭 LXC 容器:
#!/bin/bash
if [[ $1 == "myvm" && $2 == "release" && $3 == "end" ]]; then
poweroff
fi
我知道我可以使用 LXC 的 post-stop 挂钩在主机级别运行sudo poweroff
,但这意味着我必须允许非 root 用户在没有 root 密码的情况下关闭系统(通过编辑 sudoers 文件),这是不可取的。
如果可能的话,我只想允许虚拟机(或根)关闭主机。如果没有,我想允许 LXC 容器的 root 用户关闭主机。
我怎样才能做到这一点?