模块名: mac_bsdextended.ko
对应的内核配置:
options MAC_BSDEXTENDED
引导选项:
mac_bsdextended_load="YES"
mac_bsdextended(4) 模块能够强制文件系统防火墙策略。 这一模块的策略提供了标准文件系统权限模型的一种扩展, 使得管理员能够建立一种类似防火墙的规则集, 以文件系统层次结构中的保护文件、 实用程序,以及目录。 在尝试访问文件系统客体时, 会遍历规则表, 直至找到匹配的规则, 或到达表尾。 这一行为可以通过修改 sysctl(8) 参数, security.mac.bsdextended.firstmatch_enabled 来进行设置。 与 FreeBSD 中的其他防火墙设置类似, 也可以建一个文件来配置访问控制策略, 并通过 rc.conf(5) 变量的配置在系统引导时加载它。
规则表可以通过工具 ugidfw(8) 工具来输入, 其语法类似 ipfw(8)。 此外还可以通过使用 libugidfw(3) 库来开发其他的工具。
当使用这一模块模块时应极其小心; 不正确的使用将导致文件系统的某些部分无法访问。
在加载了 mac_bsdextended(4) 模块之后, 下列命令可以用来列出当前的规则配置:
#
ugidfw list
0 slots, 0 rules
如希望的那样, 目前还没有定义任何规则。 这意味着一切都还可以访问。
要创建一个阻止所有用户, 而保持
root
不受影响的规则,
只需运行下面的命令:
#
ugidfw add subject not uid root new object not uid root mode n
这本身可能是一个很糟糕的主意,
因为它会阻止所有用户执行哪怕最简单的命令, 例如
ls
。 更富于爱心的规则可能是:
#
ugidfw set 2 subject uid user1 object uid user2 mode n
#
ugidfw set 3 subject uid user1 object gid user2 mode n
这将阻止任何 user1
对
的主目录的全部访问, 包括目录列表。user2
user1
可以用
not uid
代替。 这将同样的强制访问控制实施在所有用户, 而不是单个用户上。user2
root
用户不会受到这些变动的影响。
我们已经给出了 mac_bsdextended(4) 模块如何帮助加强文件系统的大致介绍。 要了解更进一步的信息, 请参见 mac_bsdextended(4) 和 ugidfw(8) 联机手册。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<[email protected]>.
关于本文档的问题请发信联系
<[email protected]>.