4.4.2. 动态配置
在 SELinux 中使用 sVirt 时,动态标签配置是默认的标记选项。请参阅以下示例来演示动态标记:
ps -eZ | grep qemu-kvm
# ps -eZ | grep qemu-kvm
system_u:system_r:svirt_t:s0:c87,c520 27950 ? 00:00:17 qemu-kvm
在本例中,qemu-kvm 进程的基础标签为
system_u:system_r:svirt_t:s0
。libvirt 系统已为此进程生成了一个唯一的 MCS 标签 c87,c520
。基本标签和 MCS 标签组合形成进程的完整安全标签。同样,libvirt 采用相同的 MCS 标签和基础标签来构成镜像标签。然后,此镜像标签会自动应用到虚拟机需要访问的所有主机文件,如磁盘映像、磁盘设备、PCI 设备、USB 设备以及内核/initrd 文件。每个进程都与具有不同标签的其他虚拟机隔离。
以下示例显示了虚拟机的唯一安全标签(本例中带有对应的 MCS 标签
c87,c520
),它们应用到 /var/lib/libvirt/images
中的客户机磁盘镜像文件:
ls -lZ /var/lib/libvirt/images/*
# ls -lZ /var/lib/libvirt/images/*
system_u:object_r:svirt_image_t:s0:c87,c520 image1
以下示例显示了客户机 XML 配置中的动态标记:
<seclabel type='dynamic' model='selinux' relabel='yes'> <label>system_u:system_r:svirt_t:s0:c87,c520</label> <imagelabel>system_u:object_r:svirt_image_t:s0:c87,c520</imagelabel> </seclabel>
<seclabel type='dynamic' model='selinux' relabel='yes'>
<label>system_u:system_r:svirt_t:s0:c87,c520</label>
<imagelabel>system_u:object_r:svirt_image_t:s0:c87,c520</imagelabel>
</seclabel>