diff options
Diffstat (limited to 'zh_CN.GB2312/books/handbook/jails/chapter.sgml')
-rw-r--r-- | zh_CN.GB2312/books/handbook/jails/chapter.sgml | 56 |
1 files changed, 37 insertions, 19 deletions
diff --git a/zh_CN.GB2312/books/handbook/jails/chapter.sgml b/zh_CN.GB2312/books/handbook/jails/chapter.sgml index d89033eb5d..e49ba98b7b 100644 --- a/zh_CN.GB2312/books/handbook/jails/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/jails/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.1 + Original Revision: 1.5 $FreeBSD$ --> <chapter id="jails"> @@ -72,27 +72,42 @@ <variablelist> <varlistentry> <term>&man.chroot.2; (命令)</term> - <listitem><para></para></listitem> + <listitem> + <para>&os; 的一个系统调用, 其作用是改变进程及其衍生进程所能看到的根目录。</para> + </listitem> </varlistentry> <varlistentry> <term>&man.chroot.2; (环境)</term> - <listitem><para></para></listitem> + <listitem> + <para>在 <quote>chroot</quote> 中运行的进程环境。 + 这包括类似文件系统中的可见部分、 可用的用户及用户组 ID、 + 网络接口以及其他 IPC 机制等资源。</para> + </listitem> </varlistentry> <varlistentry> <term>&man.jail.8; (命令)</term> - <listitem><para></para></listitem> + <listitem> + <para>用以在 jail 环境中运行进程的系统管理工具。</para> + </listitem> </varlistentry> <varlistentry> <term>宿主 (系统、 进程、 用户等等)</term> - <listitem><para></para></listitem> + <listitem> + <para>能够控制 jail 环境的系统。 宿主系统能够访问全部可用的硬件资源, + 并能够控制 jail 环境内外的进程。 宿主系统与 jail 的一项重要区别是, + 在宿主系统中的超级用户进程, 并不像在 + jail 中那样受到一系列限制。</para> + </listitem> </varlistentry> <varlistentry> <term>hosted (系统、 进程、 用户等等)</term> - <listitem><para></para></listitem> + <listitem> + <para>可访问资源受 &os; jail 限制的进程、 用户或其他实体。</para> + </listitem> </varlistentry> </variablelist> </sect1> @@ -106,22 +121,22 @@ 使其能够用于真正的用途, 而阻止安全方面的风险。</para> <para>&os; 系统提供的一项用于改善安全的工具就是 <emphasis>jail</emphasis>。 - jail 是在 &os; 4.X 中由 &a.phk; 引入的, 它在 - &os; 5.X 中又进行了一系列改进, 使得它称为一个强大而灵活的系统。 + jail 是在 &os;-4.X 中由 &a.phk; 引入的, 它在 + &os;-5.X 中又进行了一系列改进, 使得它称为一个强大而灵活的系统。 目前仍然在对其进行持续的开发, 以提高其可用性、 性能和安全性。</para> <sect2 id="jails-what"> <title>Jail 是什么</title> - <para>BSD-类的操作系统从 4.2BSD 开始即提供了 &man.chroot.2;。 - &man.chroot.2; 工具能够改变一组进程的 <filename role="directory">/</filename> 目录的位置, + <para>BSD-类的操作系统从 4.2BSD 开始即提供了 &man.chroot.8;。 + &man.chroot.2; 工具能够改变一组进程的根目录的位置, 从而建立一个与系统中其他部分相隔离的安全环境: 在 chroot 环境中的进程, 将无法访问其外的文件或其他资源。 正是由于这种能力, 即使攻击者攻破了某一个运行于 chroot 环境的服务, 也不能攻破整个系统。 - &man.chroot.2; 对于哪些不需要很多灵活性或复杂的高级功能的简单应用而言相当好用。 + &man.chroot.8; 对于哪些不需要很多灵活性或复杂的高级功能的简单应用而言相当好用。 另外, 在引入 chroot 概念的过程中, 曾经发现过许多跳出 chroot 环境的方法, 尽管这些问题在较新的 &os; 版本中已经修正, 但很明显地, - &man.chroot.2; 并不是一项用于加固服务安全的理想解决方案。 + &man.chroot.8; 并不是一项用于加固服务安全的理想解决方案。 因此, 必须实现一个新的子系统来解决这些问题。</para> <para>这就是为什么要开发 @@ -154,7 +169,8 @@ <listitem> <para><acronym>IP</acronym> 地址 — 这个地址是指定给 jail 的, - 在 jail 的生命周期内都无法改变。 通常这个地址是某一个网络接口上的别名地址。</para> + 在 jail 的生命周期内都无法改变。 通常 jail 的 IP 地址是某一个网络接口上的别名地址, + 但这并不是必需的。</para> </listitem> <listitem> @@ -168,7 +184,7 @@ <username>root</username> 用户。 自然, 这里的 <username>root</username> 用户的权力会受限于 jail 环境, 并且, 从宿主系统的观点看来, jail <username>root</username> 用户并不是一个无所不能的用户。 - 此外, <username>root</username> 用户不能执行除了其对应 &man.jail.8; + 此外, jail 中的 <username>root</username> 用户不能执行除了其对应 &man.jail.8; 环境之外的系统中的一些关键操作。 关于 <username>root</username> 用户的能力和限制, 在后面的 <xref linkend="jails-tuning"> 中将加以介绍。</para> @@ -195,12 +211,13 @@ is not required on &os; 6.0 and later.</para></footnote> <calloutlist> <callout arearefs="jailpath"> - <para>为 jail 选择一个位置是建立它的第一步。 这个路径是宿主系统中 jail + <para>为 jail 选择一个位置是建立它的第一步。 这个路径是在宿主系统中 jail 的物理位置。 一种常用的选择是 <filename role="directory">/usr/jail/<replaceable>jailname</replaceable></filename>, 此处 <replaceable>jailname</replaceable> 是 jail 的主机名。 <filename role="directory">/usr/</filename> 文件系统通常会有足够的空间来保存 jail - 文件系统, 后者通常包含 &os; 默认安装的基本系统中每个文件的副本。</para> + 文件系统, 对于 <quote>完整</quote> 的 jail 而言, + 这通常包含 &os; 默认安装的基本系统中每个文件的副本。</para> </callout> <callout arearefs="jailworld"> @@ -213,7 +230,8 @@ is not required on &os; 6.0 and later.</para></footnote> <para><maketarget>distribution</maketarget> 这个 <application>make</application> target 将安装全部配置文件, 或者换句话说, 就是将 - <filename role="directory">/usr/src/etc/</filename> 复制到 + <filename role="directory">/usr/src/etc/</filename> 复制到 jail 环境中的 + <filename role="directory">/etc</filename>: <filename role="directory">$D/etc/</filename>。</para> </callout> @@ -232,7 +250,7 @@ is not required on &os; 6.0 and later.</para></footnote> &man.jail.8; 工具来安装它了。 &man.jail.8; 工具需要四个必填参数, 这些参数在 <xref linkend="jails-what"> 小节中进行了介绍。 除了这四个参数之外, - 您还可以指定一些其他参数, 例如以特定用户身份来运行程序等等。 + 您还可以指定一些其他参数, 例如, 以特定用户身份来在 jail 中运行程序等等。 这里, <command>command</command> 参数取决于您希望建立的 jail 的类型; 对于 <emphasis>虚拟系统</emphasis>, 可以选择 <filename>/etc/rc</filename>, 因为它会完成真正的 &os; 系统启动所需的操作。 对于 @@ -256,7 +274,7 @@ jail_list="<replaceable>www</replaceable>" # 以空格分隔的 jail 名字列表</pro <programlisting>jail_<replaceable>www</replaceable>_rootdir="/usr/jail/www" # jail 的根目录 jail_<replaceable>www</replaceable>_hostname="<replaceable>www</replaceable>.example.org" # jail 的主机名 -jail_<replaceable>www</replaceable>_ip_="192.168.0.10" # jail 的 IP 地址 +jail_<replaceable>www</replaceable>_ip="192.168.0.10" # jail 的 IP 地址 jail_<replaceable>www</replaceable>_devfs_enable="YES" # 在 jail 中挂接 devfs jail_<replaceable>www</replaceable>_devfs_ruleset="<replaceable>www_ruleset</replaceable>" # 在 jail 中应用的devfs 规则集</programlisting> |