ZFS 提供安全标签属性 mlslabel,其中包含数据集中数据的标签。mlslabel 属性是可继承的。当 ZFS 数据集具有显式标签时,数据集无法在没有配置 Trusted Extensions 的 Oracle Solaris 系统上挂载。
如果未定义 mlslabel 属性,则缺省值为字符串 none,表明无标签。
当您在有标签区域中挂载 ZFS 数据集时,将出现以下情况:
如果没有为数据集设置标签,即,未定义 mlslabel 属性,则 mlslabel 属性的值更改为挂载区域的标签。
对于全局区域,不会自动设置 mlslabel 属性。如果显式地为数据集 admin_low 设置标签,则数据集必须以只读方式挂载。
如果为数据集设置了标签,则内核会检验数据集标签是否与挂载区域的标签匹配。如果标签不匹配,除非区域允许向下读取挂载,否则挂载会失败。如果区域允许向下读取挂载,则较低级别的文件系统以只读方式挂载。
要从命令行设置 mlslabel 属性,请使用与以下内容类似的语法:
# zfs set mlslabel=public export/publicinfo
要设置初始标签,或将非缺省标签更改为较高级别的标签,需要 file_upgrade_sl 特权。要删除标签(即,将标签设置为 none),需要 file_downgrade_sl 特权。要将非缺省标签更改为较低级别的标签,也需要该特权。