apparmor使用自定义qemu导致libvirt出现问题

时间:2012-05-30 13:58:13

标签: qemu libvirt apparmor

我想使用自定义版本的qemu运行libvirt。但是,在我安装了我的qemu版本并重新启动后,我在dmesg中收到以下消息

  

type = 1400 audit(1338385059.381:51):apparmor =“DENIED”operation =“exec”   parent = 1700 profile =“/ usr / sbin / libvirtd”   name =“/ usr / local / bin / qemu-system-x86_64”pid = 1746 comm =“libvirtd”   requested_mask =“x”denied_mask =“x”fsuid = 0 ouid = 0

我尝试编辑/etc/apparmor.d/abstractions/libvirt-qemu并添加以下行并重新启动

  

/ usr / local / bin / qemu-system-x86_64 rmix,

但问题仍然存在。 我对apparmor很新,实际上在我发现这个错误之前没有读太多。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:6)

您的日志消息表明问题出在/usr/sbin/libvirtd个人资料中;请参阅邮件的profile="/usr/sbin/libvirtd"部分。此个人资料存储在/etc/apparmor.d/usr.sbin.libvirtd;此配置文件包含/etc/apparmor.d/abstractions/libvirt-qemu抽象 - 而是通过/etc/apparmor.d/libvirt/中的配置文件加载。请参阅libvirtd个人资料中的最后一行:

  # allow changing to our UUID-based named profiles
  change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,

最简单的答案可能是将以下行添加到local/usr.sbin.libvirtd文件中:

/usr/local/bin/qemu-system-x86_64 rmix,

(虽然可能需要PUx代替;主/usr/sbin/libvirtd个人资料目前有/usr/bin/* PUx,,这可能是/usr/bin/qemu-system-x86_64目前执行的方式。)

另一种方法是运行aa-logprof,并允许工具提示您。您可能无法使用这些工具构建最漂亮的配置文件,但它应该相当简单并且具有与手动创作配置文件相同的安全属性。

我希望这会有所帮助。