4.4. sVirt 标记
与受 SELinux 保护的其他服务一样,sVirt 使用基于流程的机制、标签和限制,为虚拟客户机实例提供额外的安全性和控制。标签基于当前运行的虚拟机(动态)自动应用到系统上的资源,但也可以由管理员(静态)手动指定,以满足可能存在的任何特定要求。
要编辑客户机的 sVirt 标签,使用 virsh edit guest_name 命令并添加或编辑 <seclabel> 元素,如下一节所述。<seclabel> 可用作整个客户机的根元素,也可以指定为 <source> 元素的子元素,用于选择给定设备的特定 sVirt 标签。
有关 <seclabel> 元素的综合信息,请参阅 libvirt 上游文档。
4.4.1. sVirt Labels 类型
下表概述了可以分配给虚拟机进程、镜像文件和共享内容等资源的不同 sVirt 标签:
类型 | SELinux 上下文 | description/Effect |
---|---|---|
虚拟机进程 | system_u:system_r:svirt_t:MCS1 | MCS1 是一个随机选择的字段。目前支持约 500,000 个标签。 |
虚拟机镜像 | system_u:object_r:svirt_image_t:MCS1 | 只有具有相同MCS1 字段的 svirt_t 进程才能读取/写入这些镜像文件和设备。 |
虚拟机共享读取/写入内容 | system_u:object_r:svirt_image_t:s0 | 所有 svirt_t 进程都可写入到 svirt_image_t:s0 文件和设备。 |
虚拟机共享只读内容 | system_u:object_r:svirt_content_t:s0 | 所有 svirt_t 进程都可以读取具有此标签的文件/设备。 |
虚拟机镜像 | system_u:object_r:virt_content_t:s0 | 镜像退出时使用的系统默认标签.不允许 svirt_t 虚拟进程读取使用该标签的文件/设备。 |