mac_mls_load = "YES"值得注意的一点是,当我们修改并重新编译了mac_mls.ko这个模块后,必须把它从/usr/src/sys/modules/mac_mls目录拷贝到/boot/kernel目录,因为系统启动的时候是从/boot/kernel目录寻找模块的。
1.3 配置扩展文件系统
当我们做完1.1和1.2两步后,MLS模块就已经在系统中起作用了,我们可以使用"getfmac 文件/目录名"来得到文件或目录的MAC标记(形如"文件/目录名: mls/low",详细的介绍请参阅1.4节),但此时的标记是一种伪标记,也就是说,这个标记是MLS策略给每个文件的缺省标记,且这个标记在关闭系统的时候并没有被存储。但是按照我们的需要,我们希望每个文件或目录的MAC标记应该有"非易逝性"的标记,也就是说我们希望这个标记与文件一样被存储在磁盘上。这就需要引入扩展文件系统,使得每个文件或目录的MAC标记存储在对应文件或目录的扩展属性中。为了便于理解,下面对FreeBSD中的扩展文件系统进行一点简要的介绍。
简单地说,扩展文件系统是对现有文件系统的一种扩充。扩展属性(EA,Extended Attribute)是相对于传统文件系统的inode节点中已存储的文件或目录的标准属性而言的,它可以为inode节点中存储的文件或目录增加额外的信息,这些信息再由系统根据inode结点访问到。每个文件系统的扩展属性(EA)是一组(name,value)对。一个inode节点(文件或目录)可能定义了某种属性,也可能没有定义。如果inode节点定义了某个属性,则它可能包含0个,也可能包含多个字节的这种属性的数据。这与一般shell的环境变量类似。这样,扩展属性机制就为TrustedBSD的各种安全特征(ACL、MAC和能力等),提供了存储访问安全信息的简单方法。一些非安全应用也可以根据需要创建扩展属性,例如文件的校验和、密钥等。扩展属性可以动态地增加新的扩展属性而不必改变文件系统在磁盘上的存储格式。
要使MAC标记可以被存储在文件的扩展属性里,必须使一个文件系统支持扩展属性。下面我们以/tmp文件系统为例,讲述如何配置使其支持扩展文件属性:
首先建立/tmp/.attribute/system目录,当mount一个文件系统时,系统将自动从这个目录中寻找扩展文件系统所对应的文件。
使用下面的命令建立一个名为freebsd.mac的文件,这个文件中将存储/tmp文件系统中所有文件的扩展属性。100这个数表示每个扩展属性的长度为100个字节: cd /tmp/.attribute/system
extattrctl initattr -p . 100 freebsd.mac
相关专题
- 访问控制列表(ACL)介绍 (181篇文章)
- 访问控制列表 (124篇文章)
- FreeBSD系统安全管理 (8828篇文章)
- FreeBSD使用教程 (6592篇文章)
- Freebsd频道 (698篇文章)
- FreeBSD系统的使用 (96篇文章)
- FreeBSD系统安装与配置之准备篇 (1753次浏览)
- FreeBSD入门安装及汉化 (1472次浏览)
- FreeBSD下安装GNOME桌面 (971次浏览)
- FreeBSD 5.0硬盘安装指南 (707次浏览)
- freebsd5.2.1上安装vmware 3.2.1 (610次浏览)
- FreeBSD 5.1安装VMware全部过程 (571次浏览)
- FreeBSD连载(72):设置和使用DHCP (563次浏览)
- 使用FreeBSD的原因 (506次浏览)
- FreeBSD系统终极安装手册(图) (474次浏览)
- FreeBSD5.3下安装Apache+PHP+MySQL+Tomcat (453次浏览)



