在 Trusted Extensions 中,MAC 策略适用于所有进程,包括全局区域中的进程。全局区域中的进程以标签 ADMIN_HIGH 运行。共享全局区域的文件时,以标签 ADMIN_LOW 进行共享。因此,由于 MAC 会阻止标签级别较高的进程修改级别较低对象,全局区域通常不能向 NFS 挂载的系统执行写入操作。
但是,在有限的几种情况下,有标签区域中的操作可以要求全局区域进程修改该区域的文件。
全局区域进程可以在以下情况中使用读/写权限挂载远程文件系统:
挂载系统必须在与远程文件系统相同的标签具有一个区域。
系统必须将远程文件系统挂载在相同有标签区域的区域路径下。
系统不能在有相同标签区域的区域根路径下挂载远程文件系统
例如,一个名为 public 的区域,位于标签 PUBLIC(公共)级别。区域路径为 /zone/public/。区域路径下的所有目录都处于标签 PUBLIC 级别,如下所示:
/zone/public/dev /zone/public/etc /zone/public/home/username /zone/public/root /zone/public/usr
区域路径下的目录中,只有 /zone/public/root 下的文件可以从公共区域看到。仅能从全局区域访问标签 PUBLIC 的所有其他目录和文件。路径 /zone/public/root 是区域根路径。
从公共区域管理员的角度看,看到的区域根路径是 /。同样,公共区域管理员无法访问区域路径中的用户起始目录:/zone/public/home/username 目录。仅能从全局区域看到该目录。公共区域在区域根路径中将该目录挂载为 /home/username。从全局区域的角度看,看到的挂载是 /zone/public/root/home/username。
公共区域管理员可以修改 /home/username。用户起始目录下的文件需要修改时,全局区域进程不能使用该路径。全局区域使用区域路径中用户的起始目录 /zone/public/home/username。
在区域路径 /zone/zonename/ 下,但是不在区域根路径 /zone/zonename/root 目录下的文件和目录,可以由在 ADMIN_HIGH 标签下运行的全局区域进程进行修改。
区域根路径 /zone/public/root 下的文件和目录可以由有标签区域管理员修改。
例如,用户在公共区域分配设备时,在标签 ADMIN_HIGH 运行的全局区域进程可以修改区域路径中的 dev 目录:/zone/public/dev。同样,用户保存桌面配置时,桌面配置文件可以由 /zone/public/home/username 中的全局区域进程进行修改。要共享有标签文件系统,请参见如何从有标签区域共享文件系统。