我在 CentOS KVM 服务器上有一个虚拟机。如果我尝试以非 root 用户身份启动虚拟机,则会收到错误:
$ virsh create VM.xml
error: Failed to create domain from VM.xml
error: unsupported configuration: Unable to find security driver for model dac
但是,如果我执行与 root 完全相同的操作,它就能完美运行。
它看起来像是权限或路径问题,但我无法弄清楚是什么导致了错误。
XML 配置中的安全标签信息如下:
<seclabel type='dynamic' model='selinux' relabel='yes'>
<label>system_u:system_r:svirt_t:s0:c162,c320</label>
<imagelabel>system_u:object_r:svirt_image_t:s0:c162,c320</imagelabel>
</seclabel>
<seclabel type='dynamic' model='dac' relabel='yes'>
<label>+1000:+1000</label>
<imagelabel>+1000:+1000</imagelabel>
</seclabel>
上述 XML 中的“1000”是受影响用户的 /etc/passwd 中的 uid。我还尝试使用 qemu 用户的 uid,但没有任何效果。
有人见过这种情况吗?我发现有人遇到与 selinux 驱动程序相关的错误,但我找不到任何其他与 dac 驱动程序相关的错误。
答案1
我遇到了同样的问题。
安全驱动程序 DAC 不适用于非 root 用户,因为它用于修改系统上的资源所有权。
<seclabel model='dac'..></seclabel>
从您的域中删除该部分 ( virsh edit
)。