17.11. MAC partition (分区) 模块
上一页 | 第 17 章 强制访问控制 | 下一页

## 17.11. MAC partition (分区) 模块

模块名： `mac_partition.ko`

对应的内核配置： `options MAC_PARTITION`

引导选项： `mac_partition_load="YES"`

mac_partition(4) 策略将把进程基于其 MAC 标签放到特定的 “partitions” (分区) 中。 这是一种特殊类型的 jail(8)， 但对两者进行比较意义不大。

这个模块应加到 loader.conf(5) 文件中， 以便在启动过程中启用这些规则。

绝大多数这一策略的配置是通过 setpmac(8) 工具来完成的， 它将在后面介绍。 这个策略可以使用下面的 `sysctl`：

- `security.mac.partition.enabled` 将启用强制的 MAC 进程 partitions。

当启用了这个规则时， 用户将只能看到他们自己的， 以及其他与他们同处一个 partition 的进程， 而不能使用能够越过 partition 的工具。 例如， `insecure` class 中的用户， 就无法使用 `top` 命令， 以及其他需要产生新进程的工具。

要设置或删除 partition 标签中的工具， 需要使用 `setpmac`：

`#` `setpmac partition/13 top`

这将把 `top` 命令加入到 `insecure` class 中的用户的标签集。 注意， 所有由 `insecure` class 中的用户产生的进程， 仍然会留在 `partition/13` 标签中。

### 17.11.1. 例子

下面的命令将显示 partition 标签以及进程列表：

`#` `ps Zax`

接下来的这个命令将允许察看其他用户的进程 partition 标签， 以及那个用户正在运行的进程：

`#` `ps -ZU trhodes`

### 注意:

除非加载了 mac_seeotheruids(4) 策略， 否则用户就看不到 `root` 的标签。

非常手工化的实现， 可能会在 `/etc/rc.conf` 中禁用所有的服务， 并用脚本来按不同的标签来启动它们。

### 注意:

下面的几个策略支持基于所给出的三种标签的完整性设定。 这些选项， 连同它们的限制， 在模块的联机手册中进行了进一步介绍。

上一页 | 上一级 | 下一页
17.10. MAC portacl 模块 | 起始页 | 17.12. MAC 多级 (Multi-Level) 安全模块

本文档和其它文档可从这里下载： ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题，请先阅读 文档，如不能解决再联系 <questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.