在 MAC 框架中的每个模块, 都可以像前述那样连编入内核, 或作为运行时内核模块加载。 推荐的用法, 是通过在 /boot/loader.conf 加入适当的设置, 以便在系统启动时的初始化操作过程中加载这些模块。
接下来的一些小节, 将讨论许多 MAC 模块,
并简单介绍它们的功能。 此外, 这一章还将介绍一些具体环境中的用例。
某些模块支持一种称为标签 (labeling) 的用法, 它可以通过使用类似
“允许做这个而不允许做那个” 的标签来实现访问控制。
标签配置文件可以控制允许的文件访问方式、 网络通讯, 以及许多其他权限。 在前一节中,
我们已经展示了文件系统中如何通过 multilabel
标志来启用基于文件或分区的访问控制的方法。
单标签配置在整个系统中只强制一个标签的限制, 这也是 tunefs 选项为什么是 multilabel
的原因。
模块名: mac_seeotheruids.ko
对应的内核配置: options MAC_SEEOTHERUIDS
引导选项: mac_seeotheruids_load="YES"
mac_seeotheruids(4) 模块模仿并扩展了 security.bsd.see_other_uids 和 security.bsd.see_other_gids sysctl 变量。 这一模块并不需要预先配置标签, 它能够透明地与其他模块协同工作。
加载模块之后, 下列 sysctl 变量可以用来控制其功能:
security.mac.seeotheruids.enabled 将启用模块的功能, 并使用默认的配置。 这些默认设置将阻止用户看到其他用户的进程和 socket。
security.mac.seeotheruids.specificgid_enabled 将允许特定的组从这一策略中和面。 要将某些组排除在这一策略之外, 可以用 security.mac.seeotheruids.specificgid=XXX sysctl 变量。 前述例子中, XXX 应替换为希望不受限的组 ID 的数值形式。
security.mac.seeotheruids.primarygroup_enabled 可以用来将特定的主要组排除在策略之外。 使用这一变量时, 不能同时设置 security.mac.seeotheruids.specificgid_enabled。
本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.