我想使用自定义版本的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很新,实际上在我发现这个错误之前没有读太多。 任何帮助将不胜感激。
答案 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
,并允许工具提示您。您可能无法使用这些工具构建最漂亮的配置文件,但它应该相当简单并且具有与手动创作配置文件相同的安全属性。
我希望这会有所帮助。