【问题标题】:apparmor causes issues on libvirt with custom qemuapparmor 使用自定义 qemu 导致 libvirt 出现问题
【发布时间】:2012-05-30 13:58:13
【问题描述】:

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

type=1400 审核(1338385059.381:51): apparmor="DENIED" operation="exec" 父=1700 配置文件="/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 真的很陌生,实际上在我发现这个错误之前并没有读过太多。 任何帮助将不胜感激。

【问题讨论】:

  • 我做了一个解决方法,默认情况下,当我们从源安装时,qemu 安装在 /usr/local/bin 中。我配置了在 /usr/bin 中工作的路径。现在它工作正常.. 但仍然很想知道最初出了什么问题

标签: qemu libvirt apparmor


【解决方案1】:

您的日志消息表明问题出在/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,并让工具提示您。您可能无法使用这些工具构建最漂亮的配置文件,但它应该相当简单,并且具有与手动创建配置文件相同的安全属性。

我希望这会有所帮助。

【讨论】:

  • 更正:您的帖子确实有所帮助。将行 /usr/local/share/qemu/** r,/usr/local/bin/qemu-system-x86_64 rmix, 添加到 /etc/apparmor.d/abstractions/libvirt-qemu 确实有效。
  • 嘿,有趣,我在 irc 上想念你的时刻和堆栈溢出的七年 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-21
  • 2013-09-27
  • 2017-11-09
相关资源
最近更新 更多