![libvirt-qemu 的 Apparmor 权限](https://linux22.com/image/1166990/libvirt-qemu%20%E7%9A%84%20Apparmor%20%E6%9D%83%E9%99%90.png)
我正在尝试使用 libvirt 运行自定义构建的 qemu。但是,每次都因 apparmor 权限问题而失败。
dmesg 显示:
[ 82.818348] audit: type=1400 audit(1563507497.685:181): apparmor="DENIED" operation="exec" profile="libvirt-ec642fe5-8e5c-4d4a-ada7-b8562396d477" name="/home/probir/Downloads/qemu/qemu_kognizance/qemu_pinning/build_static/x86_64-softmmu/qemu-system-x86_64" pid=2235 comm="libvirtd" requested_mask="x" denied_mask="x" fsuid=64055 ouid=1000
我如何指示 apparmor 允许定制的 qemu-system-x86_64?
答案1
它检测到必须在 qemu 配置文件下运行(libvirt 指示识别这一点)。该配置文件位于 中/etc/apparmor.d/abstractions/libvirt-qemu
。
在较新版本的 Ubuntu 中,您将拥有/etc/apparmor.d/local/abstractions/libvirt-qemu
将采用您的覆盖以避免打包升级时发生冲突。在早期版本中,您仍然需要/etc/apparmor.d/abstractions/libvirt-qemu
直接修改。
您看到的拒绝规则是
/home/probir/Downloads/qemu/qemu_kognizance/qemu_pinning/build_static/x86_64-softmmu/qemu-system-x86_64 rmix,
如果你需要更多规则,请阅读apparmor 规则指南以及那里的链接。