libvirt-qemu 的 Apparmor 权限

libvirt-qemu 的 Apparmor 权限

我正在尝试使用 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 规则指南以及那里的链接。

相关内容