Libvirt生成了个人资料

时间:2017-09-11 18:08:00

标签: libvirt profiles apparmor

我正在使用apparmor作为libvirt-qemu的加固层,一切正常,但有一件事我无法系统地解决,让我解释一下:

创建新的qemu实例时,会将/etc/apparmor.d/libvirt/TEMPLATE.qemu中的配置文件生成到文件路径为/etc/apparmor.d/libvirt/libvirt-81303229-df4c-4b18-b33b-例如277bcda81b0f。

当实例关闭时,apparmor会从内核卸载配置文件,并且按预期正常。但是,如果我明确地删除了实例,我希望该文件系统也会删除该配置文件,但它不存在并仍然存在于文件系统中。一段时间后,我在libvirt实例配置文件中有很大的混乱

是的..我可以写一个cron作业将删除不必要的libvirt配置文件......但是..还有一些更明确的解决方案,也许内置的apparmor功能?

谢谢

1 个答案:

答案 0 :(得分:0)

您是否使用libvirt undefine删除已停止的访客?看来virt-aa-helper应该删除一个未定义的域,但我认为这是一个bug,你应该提交一张票。

您可以直接使用virt-aa-helper命令删除可能最安全的文件,因为 应该为您处理依赖项。

示例命令是:

$ sudo /usr/lib/libvirt/virt-aa-helper -D -u libvirt-3c3d5aa2-f581-457d-b5ab-efbf9fdd4a6e

但它可能需要考虑一些边缘情况,您可以取消定义正在运行的实例以将其转换为短暂的。你需要处理那个边缘情况。

注意:因为virt-aa-helper是由libvirt运行的,所以你必须在命令中使用 sudo 。如果不这样做,它将无声地失败,并且不会删除配置文件。