20.20. 安全标签
<seclabel> 元素允许对安全驱动程序的操作进行控制。操作的基本模式是 'dynamic',其中 libvirt 会自动生成唯一安全标签,即应用程序/管理员选择标签,或 'none' 被禁用。使用动态标签生成时,libvirt 始终会自动重新标记与虚拟机关联的任何资源。默认情况下,使用静态标签分配时,管理员或应用必须确保在任何资源上正确设置标签。但是,如果需要,可以启用自动重新标记。
如果 libvirt 使用了多个安全驱动程序,则可以使用多个 seclabel 标签,每个驱动程序都有一个,并且每个标签引用的安全驱动程序可以使用属性
模型 Valid input XML 配置来定义:
图 20.69. 安全标签
如果在输入 XML 中不提供
"type" 属性,则将使用安全驱动程序默认设置,该设置可以是 "none" 或 "dynamic"。如果设置了 <baselabel>,但没有设置 'type',则类型被假定为 'dynamic'。当查看正在运行的客户机虚拟机的 XML 时,将包括自动资源重新标记活跃状态的 XML 元素(一个 XML 元素 imagelabel )。这是仅限输出的元素,在用户提供的 XML 文档中会忽略它。
可使用以下值处理以下元素:
Type- Eitherstatic,dynamic或none来确定 libvirt 是否自动生成唯一的安全标签。Model- 有效的安全模型名称,与当前激活的安全模型匹配重新标记- Eitheryes或no.如果使用了动态标签分配,则必须始终是yes。如果分配静态标签,它将默认为无。<label>- 如果使用静态标记,则必须指定要分配给虚拟域的完整安全标签。内容格式取决于使用中的安全驱动程序:SELinux:SELinux 上下文.AppArmor:AppArmor 配置集。DAC:所有者和组,以冒号分隔。它们可以定义为用户/组名称或 uid/gid。驱动程序首先会尝试将这些值作为名称解析,但前导加号用于强制驱动程序将它们解析为 uid 或 gid。
<baselabel>- 如果使用动态标记,则可以选择性地指定基础安全标签。内容的格式取决于使用中的安全驱动程序。<imagelabel>- 这仅输出元素,显示与虚拟域关联的资源所使用的安全标签。内容格式取决于使用何时重新标记时的安全驱动程序,或者对特定源文件名进行的标签进行微调,方法是禁用标签(如果文件在 NFS 上实时或其他文件系统(如果缺少安全标签)或请求备用标签(在管理应用程序创建特殊标签时,不允许使用)来微调标签。当 seclabel 元素附加到特定路径而不是顶层域分配时,只支持属性重新标记或子元素标签。