16.5. 微调和管理
上一页 | 第 16 章 Jails | 下一页

## 16.5. 微调和管理

您可以为 jail 设置许多不同的选项， 并让 FreeBSD 宿主系统以不同的方式与 jail 交互， 以支持更高级别的应用。 这一节将介绍：

- 一些用于微调 jail 行为和安全限制的选项。

- 一些可以通过 FreeBSD Ports 套件安装的高级 jail 管理应用程序， 这些程序可以用于实现一般的基于 jail 的解决方案。

### 16.5.1. FreeBSD 提供的用于微调 jail 的系统工具

对于 jail 的配置微调， 基本上都是通过设置 sysctl(8) 变量来完成的。 系统提供了一个特殊的 sysctl 子树， 全部相关的选项均在这棵子树中； 这就是 FreeBSD 内核的 `security.jail.*` 选项子树。 下面是与 jail 有关的主要 sysctl， 以及这些变量的默认值。 这些名字都比较容易理解， 如欲了解进一步的详情， 请参阅联机手册 jail(8) 和 sysctl(8)。

- `security.jail.set_hostname_allowed: 1`

- `security.jail.socket_unixiproute_only: 1`

- `security.jail.sysvipc_allowed: 0`

- `security.jail.enforce_statfs: 2`

- `security.jail.allow_raw_sockets: 0`

- `security.jail.chflags_allowed: 0`

- `security.jail.jailed: 0`

系统管理员可以在 宿主系统 中， 透过设置这些变量的值来默认为 `root` 用户增加或取消限制。 需要注意的是， 某些限制是不能够取消的。 在 jail(8) 中的 `root` 用户， 无法挂载或卸下文件系统， 此外在 jail 中的 `root` 用户也不能加载或卸载 devfs(8) 规则集、 配置防火墙规则， 或执行其他需要修改内核数据的管理操作， 例如设置内核的 `securelevel` 等等。

FreeBSD 的基本系统包含一系列用于查看目前在使用的 jail 信息， 以及接入 jail 并执行管理命令所需的基本工具。 jls(8) 和 jexec(8) 命令都是 FreeBSD 基本系统的一部分， 并可用于执行简单的任务：

- 列出在用的 jail 以及对应的 jail 标识 (JID)、 IP 地址、 主机名和路径。

- 从宿主系统中接入正在运行的 jail， 并在其中执行命令， 以完成一系列 jail 管理任务。 这在 `root` 希望干净地关闭 jail 时非常有用。 jexec(8) 工具也可以用于在 jail 中启动 shell 以便对其进行管理； 例如：

  `#` `jexec `1` tcsh`

### 16.5.2. 由 FreeBSD Ports 套件提供的高级管理工具

在众多第三方 jail 管理工具中， `sysutils/jailutils` 是最完整和好用的。 它是一系列方便 jail(8) 管理的小工具。 请参见其网站以了解进一步的详情。

上一页 | 上一级 | 下一页
16.4. 建立和控制 jail | 起始页 | 16.6. Jail 的应用

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

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