aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books
diff options
context:
space:
mode:
authorFukang Chen <loader@FreeBSD.org>2008-02-09 13:33:16 +0000
committerFukang Chen <loader@FreeBSD.org>2008-02-09 13:33:16 +0000
commited5b888f26ebf2119fcaf6d8b3e9024f22cd1105 (patch)
tree4e147a93dd2031d4c7adc4c6a247edc2c1bbeed3 /zh_CN.GB2312/books
parentc377caa7c2d7a5d2b74787d4c80709733c862f3a (diff)
Notes
Diffstat (limited to 'zh_CN.GB2312/books')
-rw-r--r--zh_CN.GB2312/books/handbook/audit/chapter.sgml9
-rw-r--r--zh_CN.GB2312/books/handbook/disks/chapter.sgml16
-rw-r--r--zh_CN.GB2312/books/handbook/firewalls/chapter.sgml8
-rw-r--r--zh_CN.GB2312/books/handbook/geom/chapter.sgml35
-rw-r--r--zh_CN.GB2312/books/handbook/introduction/chapter.sgml2
-rw-r--r--zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml83
-rw-r--r--zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml14
-rw-r--r--zh_CN.GB2312/books/handbook/ports/chapter.sgml18
-rw-r--r--zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml36
-rw-r--r--zh_CN.GB2312/books/handbook/security/chapter.sgml53
-rw-r--r--zh_CN.GB2312/books/handbook/x11/chapter.sgml6
11 files changed, 181 insertions, 99 deletions
diff --git a/zh_CN.GB2312/books/handbook/audit/chapter.sgml b/zh_CN.GB2312/books/handbook/audit/chapter.sgml
index 7eb4468291..bf5002cc26 100644
--- a/zh_CN.GB2312/books/handbook/audit/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/audit/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
- Original Revision: 1.31
+ Original Revision: 1.33
$FreeBSD$
-->
@@ -84,7 +84,7 @@ requirements. -->
</itemizedlist>
<warning>
- <para>在 &os; 6.2 上的审计机制是试验性的,
+ <para>在 &os; 6.<replaceable>X</replaceable> 上的审计机制是试验性的,
在生产环境中部署之前, 应仔细评估部署试验性软件可能带来的风险。 已知的限制是,
并不是所有与安全有关的系统事件都是可审计的, 某些登录机制, 例如基于 X11
显示管理器, 以及第三方服务的登录机制, 都不会在用户的登录会话中正确配置审计。</para>
@@ -169,8 +169,9 @@ requirements. -->
例如 <filename>audit_event</filename>。</para>
<para>用户空间对事件审计的支持已经作为 &os; 基本系统的一部分被安装。
- 在 &os; 6.3 和以后的版本中,内核对于事件审计的支持已被默认编译进内核。
- 对于 &os; 6.2 必须加入明确地把以下这行加入内核配置文件并编译。</para>
+ 在 &os; 7.0 和以后的版本中,内核对于事件审计的支持已被默认编译进内核。
+ 对于 &os; 6.<replaceable>X</replaceable>
+ 必须加入明确地把以下这行加入内核配置文件并编译。</para>
<programlisting>options AUDIT</programlisting>
diff --git a/zh_CN.GB2312/books/handbook/disks/chapter.sgml b/zh_CN.GB2312/books/handbook/disks/chapter.sgml
index c3d61266b5..17cea85648 100644
--- a/zh_CN.GB2312/books/handbook/disks/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/disks/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
- Original Revision: 1.279
+ Original Revision: 1.281
$FreeBSD$
-->
@@ -3133,7 +3133,7 @@ Password:</screen>
<para>一个 <application>gbde</application> 分区在使用前必须被初始化,
这个初始化过程只需要执行一次:</para>
- <screen>&prompt.root; <userinput>gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c</userinput></screen>
+ <screen>&prompt.root; <userinput>gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock</userinput></screen>
<para>&man.gbde.8; 将打开您的编辑器,
提示您去设置在一个模板文件中的配置变量。
@@ -3164,7 +3164,10 @@ sector_size = 2048
<para><command>gbde init</command> 命令为您的
<application>gbde</application> 分区创建了一个 lock 文件,
在这个例子中存储在
- <filename>/etc/gbde/ad4s1c</filename>中。</para>
+ <filename>/etc/gbde/ad4s1c.lock</filename>中。
+ <application>gbde</application> lock 文件必须使用
+ <quote>.lock</quote> 扩展名才能够被
+ <filename>/etc/rc.d/gbde</filename> 启动脚本正确识别。</para>
<caution>
<para><application>gbde</application> lock
@@ -3180,7 +3183,7 @@ sector_size = 2048
<step>
<title>把加密分区和内核进行关联</title>
- <screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c</userinput></screen>
+ <screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock</userinput></screen>
<para>在加密分区的初始化过程中您将被要求提供一个密码短语。
新的加密设备将在
@@ -3255,7 +3258,7 @@ Filesystem Size Used Avail Capacity Mounted on
<step>
<title>关联 gbde 分区到内核</title>
- <screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c</userinput></screen>
+ <screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock</userinput></screen>
<para>接下来系统将提示您输入在初始化加密的
<application>gbde</application> 分区时所用的密码短语。</para>
@@ -3294,7 +3297,8 @@ Filesystem Size Used Avail Capacity Mounted on
&man.rc.conf.5; 来指定, 例如:</para>
<programlisting>gbde_autoattach_all="YES"
-gbde_devices="ad4s1c"</programlisting>
+gbde_devices="ad4s1c"
+gbde_lockdir="/etc/gbde"</programlisting>
<para>在启动时将要求输入 <application>gbde</application>
的口令。 在输入正确的口令之后, <application>gbde</application>
diff --git a/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml b/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml
index 831ad01872..57db8b190d 100644
--- a/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
- Original Revision: 1.78
+ Original Revision: 1.80
$FreeBSD$
-->
@@ -144,7 +144,11 @@
&man.altq.4; 和 &man.dummynet.4;。 Dummynet 在过去一直和
<acronym>IPFW</acronym> 紧密集成, 而
<acronym>ALTQ</acronym> 则需要配合
- <acronym>IPF</acronym>/<acronym>PF</acronym> 使用。 IPF、
+ <acronym>PF</acronym> 使用。 <acronym>IPFILTER</acronym>
+ 对于流量整形可以使用 <acronym>IPFILTER</acronym> 的 NAT
+ 和过滤功能以及 <acronym>IPFW</acronym> 的 &man.dummynet.4; 配合,
+ <emphasis>或者</emphasis> 使用 <acronym>PF</acronym> 跟
+ <acronym>ALTQ</acronym> 的组合。
IPFW, 以及 PF 都是用规则来控制是否允许数据包出入您的系统,
虽然它们采取了不同的实现方法和规则语法。</para>
diff --git a/zh_CN.GB2312/books/handbook/geom/chapter.sgml b/zh_CN.GB2312/books/handbook/geom/chapter.sgml
index 7726b9a0f3..052b8d5ab6 100644
--- a/zh_CN.GB2312/books/handbook/geom/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/geom/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
- Original Revision: 1.38
+ Original Revision: 1.40
$FreeBSD$
-->
@@ -314,33 +314,23 @@ Done.</screen>
#/dev/da0s2b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1</programlisting>
- <para>接下来应在当前和新 root 分区中分别建立一个 <filename>boot.config</filename> 文件。 它会
- <quote>帮助</quote> 系统的 <acronym>BIOS</acronym>
- 从正确的驱动器上引导:</para>
-
- <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /boot.config</userinput></screen>
-
- <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /mnt/boot.config</userinput></screen>
-
- <note>
- <para>在所有的分区上都放这些是为了保证系统能够正确引导。
- 如果由于某种原因系统无法从新的根分区读数据,
- 则还有一根救命稻草。</para>
- </note>
-
<para>用下面的命令来确保系统引导时会加载 <filename>geom_mirror.ko</filename>:</para>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>
+ <screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
<para>最后重新启动系统:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
- <para>如果一切顺利, 系统将从
- <devicename>gm0s1a</devicename> 设备启动, 并给出 <command>login</command>
- 提示等待用户登录。 如果发生错误, 请查阅接下来的故障排除环节。 我们接着将
- <devicename>da0</devicename> 磁盘也加入 <devicename>gm0</devicename>
- 设备:</para>
+ <para>在启动时选择第 4 个选项进入单用户模式。 在控制台,
+ 可以通过 &man.df.1; 的输出来确认系统是从
+ <devicename>gm0s1a</devicename> 启动的。</para>
+
+ <para>如果一切顺利,系统将从 <devicename>gm0s1a</devicename>
+ 设备启动。 现在可以使用以下命令清除主磁盘并插入镜像中:</para>
+
+ <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da0 bs=512 count=79</userinput></screen>
<screen>&prompt.root; <userinput>gmirror configure -a gm0</userinput>
&prompt.root; <userinput>gmirror insert gm0 /dev/da0</userinput></screen>
@@ -350,9 +340,12 @@ Done.</screen>
以及替换磁盘, 只不过它用 <devicename>data</devicename>
表示这里的 <devicename>gm0</devicename>。</para>
+ <para>在镜像建立后,可以用如下命令检查镜像的状态:</para>
+
+ <screen>&prompt.root; <userinput>gmirror status</userinput></screen>
+
<sect2>
<title>故障排除</title>
-
<sect3>
<title>系统拒绝引导</title>
diff --git a/zh_CN.GB2312/books/handbook/introduction/chapter.sgml b/zh_CN.GB2312/books/handbook/introduction/chapter.sgml
index 2911e5ca4d..0ef9e3bf1d 100644
--- a/zh_CN.GB2312/books/handbook/introduction/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/introduction/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
- Original Revision: 1.121
+ Original Revision: 1.123
$FreeBSD$
-->
diff --git a/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml b/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml
index 245626fe7e..027087371b 100644
--- a/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Chinese Documentation Project
- Original Revision: 1.176
+ Original Revision: 1.180
$FreeBSD$
-->
@@ -115,6 +115,77 @@
</itemizedlist>
</sect1>
+ <sect1 id="kernelconfig-devices">
+ <sect1info>
+ <authorgroup>
+ <author>
+ <firstname>Tom</firstname>
+ <surname>Rhodes</surname>
+ <contrib>作者 </contrib>
+ </author>
+ </authorgroup>
+ </sect1info>
+ <title>发现系统硬件</title>
+
+ <para>在尝试配置内核以前,比较明智的做法是先获得一份机器硬件的清单。
+ 当 &os; 并不是主操作系统时,通过查看当前操作系统的配置可以很容易的
+ 创建一份机器硬件的配置清单。举例来说, &microsoft; 的
+ <application>设备管理器</application> 里通常含有关于已安装硬件的重要信息。
+ <application>设备管理器</application> 位于控制面板。</para>
+
+ <note>
+ <para>某些版本的 &microsoft.windows; 有一个 <application>系统</application>
+ 图标会指明 <application>设备管理器</application> 的位置。</para>
+ </note>
+
+ <para>如果机器上并不存在其他的操作系统,
+ 系统管理员只能手动寻找这些信息了。其中的一个方法是使用
+ &man.dmesg.8; 工具以及 &man.man.1; 命令。&os;
+ 上大多数的驱动程序都有一份手册页(manual page)列出了所支持的硬件,
+ 在系统启动的时候,被发现的硬件也会被列出。举例来说,
+ 下面的这几行表示 <devicename>psm</devicename> 驱动找到了一个鼠标:</para>
+
+ <programlisting>psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
+psm0: [GIANT-LOCKED]
+psm0: [ITHREAD]
+psm0: model Generic PS/2 mouse, device ID 0</programlisting>
+
+ <para>这个驱动需要被包含在客户制定的内核配置文件里,
+ 或着使用 &man.loader.conf.5; 加载。</para>
+
+ <para>有时,<command>dmesg</command> 里只会显示来自系统消息的数据,
+ 而不是系统启动时的检测信息。在这样的情况下,你可以查看文件
+ <filename>/var/run/dmesg.boot</filename>。</para>
+
+ <para>另一个查找硬件信息的方法是使用 &man.pciconf.8; 工具,
+ 它能提供更详细的输出,比如:</para>
+
+ <programlisting>ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
+ vendor = 'Atheros Communications Inc.'
+ device = 'AR5212 Atheros AR5212 802.11abg wireless'
+ class = network
+ subclass = ethernet</programlisting>
+
+ <para>这个片断取自于 <command>pciconf <option>-lv</option></command>
+ 命令的输出,显示 <devicename>ath</devicename>
+ 驱动找到了一个无线以太网设备。输入命令
+ <command>man <replaceable>ath</replaceable></command>
+ 就能查阅有关 &man.ath.4; 的手册页(manual page)了。</para>
+
+ <para>还可以传给 &man.man.1; 命令 <option>-k</option> 选项,
+ 同样能获得有用的信息。例如:</para>
+
+ <screen>&prompt.root; man -k <replaceable>Atheros</replaceable></screen>
+
+ <para>能得到一份包含特定词语的手册页(manual page):</para>
+
+ <programlisting>ath(4) - Atheros IEEE 802.11 wireless network driver
+ath_hal(4) - Atheros Hardware Access Layer (HAL)</programlisting>
+
+ <para>手头备有一份硬件的配置清单,
+ 那么编译制定内核的过程就显得不那么困难了。</para>
+ </sect1>
+
<sect1 id="kernelconfig-building">
<title>建立并安装一个定制的内核</title>
<indexterm>
@@ -579,8 +650,7 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT</progra
<programlisting>options KBD_INSTALL_CDEV # install a CDEV entry in /dev</programlisting>
- <para>这个选项与键盘有关。 它在 <filename>/dev</filename>
- 中安装一个 CDEV 项。</para>
+ <para>这个选项是在 <filename>/dev</filename>下建立键盘设备节点必需的。</para>
<programlisting>options ADAPTIVE_GIANT # Giant mutex is adaptive.</programlisting>
@@ -593,6 +663,13 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT</progra
一般情况下, 另一个线程将进入休眠状态并等待下一次调度。
如果您不确定是否应该这样做的话, 一般应该打开它。</para>
+ <note>
+ <para>请注意在 &os; 8.0-CURRENT 及以后的版本,所有的互斥体默认都是自适应的,
+ 除非在编译时使用 <literal>NO_ADAPTIVE_MUTEXES</literal> 选项,
+ 明确的指定为非自适应。因此,内核全局锁(Giant)目前默认也是自适应的,
+ 而且 <literal>ADAPTIVE_GIANT</literal> 选项已经从内核配置文件中移出。</para>
+ </note>
+
<indexterm>
<primary>内核选项</primary>
<secondary>SMP</secondary>
diff --git a/zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml b/zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml
index 0308f9776f..f6c5058c0c 100644
--- a/zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml
@@ -1,7 +1,7 @@
<!--
The FreeBSD Documentation Project
- Original Revision: 1.134
+ Original Revision: 1.135
$FreeBSD$
-->
@@ -2279,11 +2279,13 @@ options SEMUME=100 #number of UNDO keys</programlisting>
但RedHat 6.1已经使用了一个新的glibc。所以您必须安装下面额外的软件包来保证链接正常:
</para>
- <para><filename>compat-libs-5.2-2.i386.rpm</filename></para>
- <para><filename>compat-glibc-5.2-2.0.7.2.i386.rpm</filename></para>
- <para><filename>compat-egcs-5.2-1.0.3a.1.i386.rpm</filename></para>
- <para><filename>compat-egcs-c++-5.2-1.0.3a.1.i386.rpm</filename></para>
- <para><filename>compat-binutils-5.2-2.9.1.0.23.1.i386.rpm</filename></para>
+ <itemizedlist>
+ <listitem><para><filename>compat-libs-5.2-2.i386.rpm</filename></para></listitem>
+ <listitem><para><filename>compat-glibc-5.2-2.0.7.2.i386.rpm</filename></para></listitem>
+ <listitem><para><filename>compat-egcs-5.2-1.0.3a.1.i386.rpm</filename></para></listitem>
+ <listitem><para><filename>compat-egcs-c++-5.2-1.0.3a.1.i386.rpm</filename></para></listitem>
+ <listitem><para><filename>compat-binutils-5.2-2.9.1.0.23.1.i386.rpm</filename></para></listitem>
+ </itemizedlist>
<para>更多的信息,看相应的&sap;注释和&oracle;的<filename>Readme</filename>。
如果这不是选项,您可以使用最初的程序,或使用与最初的Redhat系统重链接的程序。
diff --git a/zh_CN.GB2312/books/handbook/ports/chapter.sgml b/zh_CN.GB2312/books/handbook/ports/chapter.sgml
index 300d1e82b5..3d212b898d 100644
--- a/zh_CN.GB2312/books/handbook/ports/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/ports/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Documentation Project
- Original Revision: 1.269
+ Original Revision: 1.273
$FreeBSD$
-->
@@ -236,6 +236,22 @@ lsof: /usr/ports/sysutils/lsof</screen>
<filename>/usr/ports/sysutils/lsof</filename>目录中找到。</para></listitem>
<listitem>
+ <para>你可以使用简单的 &man.echo.1;
+ 语句来查找某个 port 是否存在于 ports 树中。
+ 例如:</para>
+
+ <screen>&prompt.root; <userinput>echo /usr/ports/*/*lsof*</userinput>
+/usr/ports/sysutils/lsof</screen>
+
+ <para>Note that this will return any matched files downloaded into the
+ <filename role="directory">/usr/ports/distfiles</filename>
+ directory.</para>
+ <para>请注意这条命令将会返回下载到
+ <filename role="directory">/usr/ports/distfiles</filename>
+ 目录中所有符合条件的文件。</para>
+ </listitem>
+
+ <listitem>
<para>还有另外的一个寻找您需要的port的方法--是用ports collecton
内嵌的搜索机制。要使用这个搜索, 您需要先到
<filename>/usr/ports</filename>目录下面。 在那个目录里面,
diff --git a/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml b/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml
index 5759a0c4fa..dbcb7bb8da 100644
--- a/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
- Original Revision: 1.176
+ Original Revision: 1.177
$FreeBSD$
-->
@@ -1172,14 +1172,14 @@ defaultroute # put this if you want that PPP server will be your
<para>下面这个<filename>/etc/ppp/pppup</filename>脚本能自动完成这三个步骤:</para>
<programlisting>#!/bin/sh
-ps ax |grep pppd |grep -v grep
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
+pgrep -l pppd
+pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
+pgrep -l kermit
+pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
@@ -1199,14 +1199,14 @@ pppd /dev/tty01 19200</programlisting>
<para>使用下面这个脚本<filename>/etc/ppp/pppdown</filename>断开PPP连线:</para>
<programlisting>#!/bin/sh
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
+pid=`pgrep pppd`
if [ X${pid} != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill -TERM ${pid}
fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
+pgrep -l kermit
+pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
@@ -1220,7 +1220,7 @@ kermit -y /etc/ppp/kermit.hup
<para>通过执行<filename>/usr/etc/ppp/ppptest</filename>, 看看<command>pppd</command> 是否仍在运行:</para>
<programlisting>#!/bin/sh
-pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
+pid=`pgrep pppd`
if [ X${pid} != "X" ] ; then
echo 'pppd running: PID=' ${pid-NONE}
else
@@ -1313,15 +1313,15 @@ modem # modem line</programlisting>
<para>下面这个脚本<filename>/etc/ppp/pppserv</filename>
使<application>pppd</application>以服务器方式启动:</para>
- <programlisting>#!/bin/sh
-ps ax |grep pppd |grep -v grep
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
+ <programlisting>#!/bin/sh
+pgrep -l pppd
+pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
+pgrep -l kermit
+pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
@@ -1340,14 +1340,14 @@ pppd /dev/tty01 19200</programlisting>
<para>使用脚本<filename>/etc/ppp/pppservdown</filename>停止服务器:</para>
<programlisting>#!/bin/sh
-ps ax |grep pppd |grep -v grep
-pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
+pgrep -l pppd
+pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
-ps ax |grep kermit |grep -v grep
-pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
+pgrep -l kermit
+pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
diff --git a/zh_CN.GB2312/books/handbook/security/chapter.sgml b/zh_CN.GB2312/books/handbook/security/chapter.sgml
index d52063a444..2d294a0040 100644
--- a/zh_CN.GB2312/books/handbook/security/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/security/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
- Original Revision: 1.316
+ Original Revision: 1.320
$FreeBSD$
-->
@@ -50,7 +50,7 @@
<listitem>
<para>如何配置 <acronym>TCP</acronym> Wrappers 以便与
- <command>inetd</command> 配合使用。</para>
+ <application>inetd</application> 配合使用。</para>
</listitem>
<listitem>
@@ -327,21 +327,16 @@
尽管有 <groupname>wheel</groupname> 比什么都没有要强一些,
但它并不是一种绝对安全的办法。</para>
- <!-- XXX:
- This will need updating depending on the outcome of PR bin/71147.
- Personally I know what I'd like to see, which puts this in definite
- need of a rewrite, but we'll have to wait and see. ceri@
- -->
+ <para>可以使用 &man.pw.8; 命令来完全禁止某一个帐号:</para>
- <para>一种间接地提高员工帐号, 乃至 <username>root</username>
- 权限安全性的方法, 便是采用其他的登录访问方式,
- 并使用 <quote>星号</quote>
- 替代员工加密的口令。使用 &man.vipw.8; 命令,
- 可以把每一个加密的口令替换成一个 <quote><literal>*</literal></quote> 符。
- 这将更新 <filename>/etc/master.passwd</filename> 文件,以及
- 用户名/口令数据库,以禁用口令登录。</para>
+ <screen>&prompt.root;<userinput>pw lock <replaceable>staff</replaceable></userinput></screen>
- <para>如下面的员工帐号</para>
+ <para>这将阻止用户使用任何方法登录,包括 &man.ssh.1;。</para>
+
+ <para>另一个阻止某个帐户访问的方法是使用一个
+ <quote><literal>*</literal></quote> 字符替换掉加密后的口令。
+ 这将不会与任何加密后的口令匹配,从而阻止了用户的访问。
+ 举例说明:</para>
<programlisting>foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh</programlisting>
@@ -349,23 +344,11 @@
<programlisting>foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh</programlisting>
- <para>这一更改将阻止一般的登录,因为加密的口令永远不会与
- <quote><literal>*</literal></quote> 匹配。一旦这么做之后,
- 任何员工都必须使用其他的方式来完成登录,例如,使用
- &man.kerberos.1; 或者通过 &man.ssh.1; 利用 公钥/密钥对
- 的方式来完成登录。当使用 Kerberos 这样的工具时,通常必须加强运行
- Kerberos 的服务器,以及桌面工作站的安全性。当使用 公钥/密钥对以
- ssh 登录时,通常必须加固用户 <emphasis>开始</emphasis>
- 登录的那台机器的安全 (通常这是他们的工作站)。
- 在这之上还可以增加一层安全性,即在使用 &man.ssh-keygen.1;
- 生成它的时候,使用口令来保护它们。 如果能够用
- <quote>星号</quote> 替换掉所有员工的口令,
- 那么,这也就保证了他们只能通过您设置的安全的方法来登录。
- 这将迫使所有的员工使用安全的、经过加密的连接来完成他们的会话,
- 而这将使得入侵者通过监听网络通讯, 从某些不相关的、
- 不太安全的机器上窃取口令成为不可能。</para>
-
- <para>另一种间接的安全机制则是,
+ <para>这会阻止用户 <username>foobar</username> 使用传统的方式登录。
+ 但是对于使用了 <application>Kerberos</application>
+ 或者配置了 &man.ssh.1; 公钥/密钥对的情况下,用户依然可以访问。</para>
+
+ <para>这些安全机制同样假定,
从严格受限的机器向限制更宽松的机器上登录。 例如,
如果您的服务器运行了所有的服务,那么,工作站应该什么都不运行。
为了让工作站尽可能地安全,应该避免运行任何没有必要的服务,
@@ -1086,7 +1069,7 @@ Enter secret pass phrase: <userinput>&lt;secret password&gt;</userinput>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
- <contrib>作者:</contrib>
+ <contrib>作者</contrib>
</author>
</authorgroup>
</sect1info>
@@ -4413,14 +4396,14 @@ VII. References<co id="co-ref"></programlisting>
<para>要显示关于刚刚发出的命令的相关信息,
则应使用 &man.lastcomm.1; 工具。
- <command>lastcomm</command> 可以用来显示在某一 &man.ttys.5;
+ <command>lastcomm</command> 命令可以用来显示在某一 &man.ttys.5;
上的用户信息, 例如:</para>
<screen>&prompt.root; <userinput>lastcomm ls
<username>trhodes</username> ttyp1</userinput></screen>
<para>将会显示出所有已知的 <username>trhodes</username>
- 在 ttyp1 终端上执行 <command>ls</command> 的情况。</para>
+ 在 <literal>ttyp1</literal> 终端上执行 <command>ls</command> 的情况。</para>
<para>更多的可用选项在联机手册
&man.lastcomm.1;、 &man.acct.5; 和 &man.sa.8; 中有所介绍。</para>
diff --git a/zh_CN.GB2312/books/handbook/x11/chapter.sgml b/zh_CN.GB2312/books/handbook/x11/chapter.sgml
index a375ce4b12..e2d4dd9531 100644
--- a/zh_CN.GB2312/books/handbook/x11/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/x11/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Project
- Original Revision: 1.185
+ Original Revision: 1.186
$FreeBSD$
-->
@@ -116,7 +116,9 @@
<para>X 一开始就是针对网络而设计的,所以
采用了 <quote>client-server</quote> 模型。在 X 模型中,
<quote>X server</quote> 运行在有键盘,显示器,鼠标的计算机上。
- 服务器用来管理显示信息,处理来自键盘和鼠标的输入等。
+ 服务器用来管理显示信息,处理来自键盘和鼠标的输入信息,
+ 并与其他输入输出设备交互 (比如作为输入设备的 <quote>tablet</quote>,
+ 或者作为输出设备的投影仪)。
每一个 X 应用程序 (比如 <application>XTerm</application>, 或者
<application>&netscape;</application>) 就是一个 <quote>客户程序 (client)</quote>。
客户程序给服务器发送信息,如 <quote>请在这些坐标上画一个窗口</quote>,