您可以为 jail 设置许多不同的选项, 并让 FreeBSD 宿主系统以不同的方式与 jail 交互, 以支持更高级别的应用。 这一节将介绍:
一些用于微调 jail 行为和安全限制的选项。
一些可以通过 FreeBSD Ports 套件安装的高级 jail 管理应用程序, 这些程序可以用于实现一般的基于 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
在众多第三方 jail 管理工具中, sysutils/jailutils
是最完整和好用的。
它是一系列方便 jail(8) 管理的小工具。 请参见其网站以了解进一步的详情。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<questions@FreeBSD.org>.
关于本文档的问题请发信联系
<doc@FreeBSD.org>.