Trusted Extensions 配置和管理

退出打印视图

更新时间: 2014 年 7 月
 
 

需要为文件重新设置标签的多级别数据集

多级别 ZFS 数据集中可包含使用不同标签的文件和目录。每个文件和目录都带有各自的标签,可以在不移动或复制文件的情况下更改这些标签。可在数据集的标签范围内为文件重新设置标签。要创建和共享多级别数据集,请参见如何创建和共享多级别数据集

通常,数据集中的所有文件和目录的标签与其中挂载此数据集的区域的标签相同。当数据集首次挂载到此区域时,会在名为 mlslabel 的 ZFS 属性中自动记录此标签。这些数据集是有标签的单级别数据集。在挂载数据集时,无法更改 mlslabel 属性,即挂载区域无法更改 mlslabel 属性。

设置 mlslabel 属性后,区域的标签必须与数据集的 mlslabel 属性匹配,才能以读写方式将此数据集挂载到此区域中。此外,如果数据集当前已通过 ZFS 挂载到任何区域(包括全局区域),则它无法通过 ZFS 挂载到其他任何区域。因为有标签单级别数据集中文件的标签是固定的,所以在使用 setlabel 命令为文件重新设置标签时,此文件实际上会移动到主区域中与目标标签对应的等效路径名中。这种跨区域移动效率可能会很低,并且可能造成混乱。多级别数据集可为重新设置数据标签提供有效的容器。

对于在全局区域中挂载的多级别数据集,mlslabel 属性的缺省值为 ADMIN_HIGH。此值指定数据集的标签范围上界。如果指定较低级别的标签,则只能从其标签受 mlslabel 属性支配的区域写入到数据集。

具有 "Object Label Management"(对象标签管理)权限配置文件的用户或角色使用适当特权升级或降级他们对其具有 DAC 访问权限的文件或目录。有关过程,请参见如何允许用户更改数据的安全级别

    对于用户进程,还适用其他策略约束。

  • 缺省情况下,在有标签区域中,无任何进程能够为文件或目录重新设置标签。要启用标签重新设置,请参见如何在有标签区域中允许重新为文件设置标签。要指定更高粒度的控制(例如,允许降级文件但不允许升级文件),请参见Example 13–5

  • 只有目录为空时才可以为其重新设置标签。

  • 文件和目录要降级到的标签级别不能低于其所含目录的标签级别。

    要重新设置标签,首先将文件移动到较低级别的目录,然后为其重新设置标签。

  • 挂载数据集的区域不能将文件或目录升级到区域标签之上。

  • 如果文件当前已由任何区域中的一个进程打开,则无法为其重新设置标签。

  • 文件和目录不能升级到数据集的 mlslabel 值之上。