From ed5b888f26ebf2119fcaf6d8b3e9024f22cd1105 Mon Sep 17 00:00:00 2001 From: Fukang Chen Date: Sat, 9 Feb 2008 13:33:16 +0000 Subject: MFen: handbook: audit/chapter.sgml 1.31 -> 1.33 disks/chapter.sgml 1.279 -> 1.281 firewalls/chapter.sgml 1.78 -> 1.80 geom/chapter.sgml 1.38 -> 1.40 introduction/chapter.sgml 1.121 -> 1.123 kernelconfig/chapter.sgml 1.176 -> 1.180 linuxemu/chapter.sgml 1.134 -> 1.135 ports/chapter.sgml 1.269 -> 1.273 ppp-and-slip/chapter.sgml 1.176 -> 1.177 security/chapter.sgml 1.316 -> 1.320 x11/chapter.sgml 1.185 -> 1.186 Obtained from: The FreeBSD Simplified Chinese Project Merging work done by: delphij@, loader@ --- zh_CN.GB2312/books/handbook/audit/chapter.sgml | 9 +-- zh_CN.GB2312/books/handbook/disks/chapter.sgml | 16 +++-- zh_CN.GB2312/books/handbook/firewalls/chapter.sgml | 8 ++- zh_CN.GB2312/books/handbook/geom/chapter.sgml | 35 ++++----- .../books/handbook/introduction/chapter.sgml | 2 +- .../books/handbook/kernelconfig/chapter.sgml | 83 +++++++++++++++++++++- zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml | 14 ++-- zh_CN.GB2312/books/handbook/ports/chapter.sgml | 18 ++++- .../books/handbook/ppp-and-slip/chapter.sgml | 36 +++++----- zh_CN.GB2312/books/handbook/security/chapter.sgml | 53 +++++--------- zh_CN.GB2312/books/handbook/x11/chapter.sgml | 6 +- 11 files changed, 181 insertions(+), 99 deletions(-) (limited to 'zh_CN.GB2312/books') 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. --> - 在 &os; 6.2 上的审计机制是试验性的, + 在 &os; 6.X 上的审计机制是试验性的, 在生产环境中部署之前, 应仔细评估部署试验性软件可能带来的风险。 已知的限制是, 并不是所有与安全有关的系统事件都是可审计的, 某些登录机制, 例如基于 X11 显示管理器, 以及第三方服务的登录机制, 都不会在用户的登录会话中正确配置审计。 @@ -169,8 +169,9 @@ requirements. --> 例如 audit_event 用户空间对事件审计的支持已经作为 &os; 基本系统的一部分被安装。 - 在 &os; 6.3 和以后的版本中,内核对于事件审计的支持已被默认编译进内核。 - 对于 &os; 6.2 必须加入明确地把以下这行加入内核配置文件并编译。 + 在 &os; 7.0 和以后的版本中,内核对于事件审计的支持已被默认编译进内核。 + 对于 &os; 6.X + 必须加入明确地把以下这行加入内核配置文件并编译。 options AUDIT 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: 一个 gbde 分区在使用前必须被初始化, 这个初始化过程只需要执行一次: - &prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c + &prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock &man.gbde.8; 将打开您的编辑器, 提示您去设置在一个模板文件中的配置变量。 @@ -3164,7 +3164,10 @@ sector_size = 2048 gbde init 命令为您的 gbde 分区创建了一个 lock 文件, 在这个例子中存储在 - /etc/gbde/ad4s1c中。 + /etc/gbde/ad4s1c.lock中。 + gbde lock 文件必须使用 + .lock 扩展名才能够被 + /etc/rc.d/gbde 启动脚本正确识别。 gbde lock @@ -3180,7 +3183,7 @@ sector_size = 2048 把加密分区和内核进行关联 - &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c + &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock 在加密分区的初始化过程中您将被要求提供一个密码短语。 新的加密设备将在 @@ -3255,7 +3258,7 @@ Filesystem Size Used Avail Capacity Mounted on 关联 gbde 分区到内核 - &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c + &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock 接下来系统将提示您输入在初始化加密的 gbde 分区时所用的密码短语。 @@ -3294,7 +3297,8 @@ Filesystem Size Used Avail Capacity Mounted on &man.rc.conf.5; 来指定, 例如: gbde_autoattach_all="YES" -gbde_devices="ad4s1c" +gbde_devices="ad4s1c" +gbde_lockdir="/etc/gbde" 在启动时将要求输入 gbde 的口令。 在输入正确的口令之后, gbde 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 在过去一直和 IPFW 紧密集成, 而 ALTQ 则需要配合 - IPF/PF 使用。 IPF、 + PF 使用。 IPFILTER + 对于流量整形可以使用 IPFILTER 的 NAT + 和过滤功能以及 IPFW 的 &man.dummynet.4; 配合, + 或者 使用 PF 跟 + ALTQ 的组合。 IPFW, 以及 PF 都是用规则来控制是否允许数据包出入您的系统, 虽然它们采取了不同的实现方法和规则语法。 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. #/dev/da0s2b none swap sw 0 0 /dev/mirror/gm0s1a / ufs rw 1 1 - 接下来应在当前和新 root 分区中分别建立一个 boot.config 文件。 它会 - 帮助 系统的 BIOS - 从正确的驱动器上引导: - - &prompt.root; echo "1:da(1,a)/boot/loader" > /boot.config - - &prompt.root; echo "1:da(1,a)/boot/loader" > /mnt/boot.config - - - 在所有的分区上都放这些是为了保证系统能够正确引导。 - 如果由于某种原因系统无法从新的根分区读数据, - 则还有一根救命稻草。 - - 用下面的命令来确保系统引导时会加载 geom_mirror.ko &prompt.root; echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf + &prompt.root; echo 'geom_mirror_load="YES"' >> /boot/loader.conf 最后重新启动系统: &prompt.root; shutdown -r now - 如果一切顺利, 系统将从 - gm0s1a 设备启动, 并给出 login - 提示等待用户登录。 如果发生错误, 请查阅接下来的故障排除环节。 我们接着将 - da0 磁盘也加入 gm0 - 设备: + 在启动时选择第 4 个选项进入单用户模式。 在控制台, + 可以通过 &man.df.1; 的输出来确认系统是从 + gm0s1a 启动的。 + + 如果一切顺利,系统将从 gm0s1a + 设备启动。 现在可以使用以下命令清除主磁盘并插入镜像中: + + &prompt.root; dd if=/dev/zero of=/dev/da0 bs=512 count=79 &prompt.root; gmirror configure -a gm0 &prompt.root; gmirror insert gm0 /dev/da0 @@ -350,9 +340,12 @@ Done. 以及替换磁盘, 只不过它用 data 表示这里的 gm0 + 在镜像建立后,可以用如下命令检查镜像的状态: + + &prompt.root; gmirror status + 故障排除 - 系统拒绝引导 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 @@ + + + + + Tom + Rhodes + 作者 + + + + 发现系统硬件 + + 在尝试配置内核以前,比较明智的做法是先获得一份机器硬件的清单。 + 当 &os; 并不是主操作系统时,通过查看当前操作系统的配置可以很容易的 + 创建一份机器硬件的配置清单。举例来说, µsoft; 的 + 设备管理器 里通常含有关于已安装硬件的重要信息。 + 设备管理器 位于控制面板。 + + + 某些版本的 µsoft.windows; 有一个 系统 + 图标会指明 设备管理器 的位置。 + + + 如果机器上并不存在其他的操作系统, + 系统管理员只能手动寻找这些信息了。其中的一个方法是使用 + &man.dmesg.8; 工具以及 &man.man.1; 命令。&os; + 上大多数的驱动程序都有一份手册页(manual page)列出了所支持的硬件, + 在系统启动的时候,被发现的硬件也会被列出。举例来说, + 下面的这几行表示 psm 驱动找到了一个鼠标: + + psm0: <PS/2 Mouse> irq 12 on atkbdc0 +psm0: [GIANT-LOCKED] +psm0: [ITHREAD] +psm0: model Generic PS/2 mouse, device ID 0 + + 这个驱动需要被包含在客户制定的内核配置文件里, + 或着使用 &man.loader.conf.5; 加载。 + + 有时,dmesg 里只会显示来自系统消息的数据, + 而不是系统启动时的检测信息。在这样的情况下,你可以查看文件 + /var/run/dmesg.boot + + 另一个查找硬件信息的方法是使用 &man.pciconf.8; 工具, + 它能提供更详细的输出,比如: + + 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 + + 这个片断取自于 pciconf + 命令的输出,显示 ath + 驱动找到了一个无线以太网设备。输入命令 + man ath + 就能查阅有关 &man.ath.4; 的手册页(manual page)了。 + + 还可以传给 &man.man.1; 命令 选项, + 同样能获得有用的信息。例如: + + &prompt.root; man -k Atheros + + 能得到一份包含特定词语的手册页(manual page): + + ath(4) - Atheros IEEE 802.11 wireless network driver +ath_hal(4) - Atheros Hardware Access Layer (HAL) + + 手头备有一份硬件的配置清单, + 那么编译制定内核的过程就显得不那么困难了。 + + 建立并安装一个定制的内核 @@ -579,8 +650,7 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENToptions KBD_INSTALL_CDEV # install a CDEV entry in /dev - 这个选项与键盘有关。 它在 /dev - 中安装一个 CDEV 项。 + 这个选项是在 /dev下建立键盘设备节点必需的。 options ADAPTIVE_GIANT # Giant mutex is adaptive. @@ -593,6 +663,13 @@ options NFS_ROOT # NFS usable as /, requires NFSCLIENT + + 请注意在 &os; 8.0-CURRENT 及以后的版本,所有的互斥体默认都是自适应的, + 除非在编译时使用 NO_ADAPTIVE_MUTEXES 选项, + 明确的指定为非自适应。因此,内核全局锁(Giant)目前默认也是自适应的, + 而且 ADAPTIVE_GIANT 选项已经从内核配置文件中移出。 + + 内核选项 SMP 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 @@ @@ -2279,11 +2279,13 @@ options SEMUME=100 #number of UNDO keys 但RedHat 6.1已经使用了一个新的glibc。所以您必须安装下面额外的软件包来保证链接正常: - compat-libs-5.2-2.i386.rpm - compat-glibc-5.2-2.0.7.2.i386.rpm - compat-egcs-5.2-1.0.3a.1.i386.rpm - compat-egcs-c++-5.2-1.0.3a.1.i386.rpm - compat-binutils-5.2-2.9.1.0.23.1.i386.rpm + + compat-libs-5.2-2.i386.rpm + compat-glibc-5.2-2.0.7.2.i386.rpm + compat-egcs-5.2-1.0.3a.1.i386.rpm + compat-egcs-c++-5.2-1.0.3a.1.i386.rpm + compat-binutils-5.2-2.9.1.0.23.1.i386.rpm + 更多的信息,看相应的&sap;注释和&oracle;的Readme。 如果这不是选项,您可以使用最初的程序,或使用与最初的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$ --> @@ -235,6 +235,22 @@ lsof: /usr/ports/sysutils/lsof 结果告诉我们这个命令lsof (一个系统配置程序)可以在 /usr/ports/sysutils/lsof目录中找到。 + + 你可以使用简单的 &man.echo.1; + 语句来查找某个 port 是否存在于 ports 树中。 + 例如: + + &prompt.root; echo /usr/ports/*/*lsof* +/usr/ports/sysutils/lsof + + Note that this will return any matched files downloaded into the + /usr/ports/distfiles + directory. + 请注意这条命令将会返回下载到 + /usr/ports/distfiles + 目录中所有符合条件的文件。 + + 还有另外的一个寻找您需要的port的方法--是用ports collecton 内嵌的搜索机制。要使用这个搜索, 您需要先到 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 下面这个/etc/ppp/pppup脚本能自动完成这三个步骤: #!/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 使用下面这个脚本/etc/ppp/pppdown断开PPP连线: #!/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 通过执行/usr/etc/ppp/ppptest, 看看pppd 是否仍在运行: #!/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 下面这个脚本/etc/ppp/pppserv 使pppd以服务器方式启动: - #!/bin/sh -ps ax |grep pppd |grep -v grep -pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` + #!/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 使用脚本/etc/ppp/pppservdown停止服务器: #!/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 @@ 如何配置 TCP Wrappers 以便与 - inetd 配合使用。 + inetd 配合使用。 @@ -327,21 +327,16 @@ 尽管有 wheel 比什么都没有要强一些, 但它并不是一种绝对安全的办法。 - + 可以使用 &man.pw.8; 命令来完全禁止某一个帐号: - 一种间接地提高员工帐号, 乃至 root - 权限安全性的方法, 便是采用其他的登录访问方式, - 并使用 星号 - 替代员工加密的口令。使用 &man.vipw.8; 命令, - 可以把每一个加密的口令替换成一个 * 符。 - 这将更新 /etc/master.passwd 文件,以及 - 用户名/口令数据库,以禁用口令登录。 + &prompt.root;pw lock staff - 如下面的员工帐号 + 这将阻止用户使用任何方法登录,包括 &man.ssh.1;。 + + 另一个阻止某个帐户访问的方法是使用一个 + * 字符替换掉加密后的口令。 + 这将不会与任何加密后的口令匹配,从而阻止了用户的访问。 + 举例说明: foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh @@ -349,23 +344,11 @@ foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh - 这一更改将阻止一般的登录,因为加密的口令永远不会与 - * 匹配。一旦这么做之后, - 任何员工都必须使用其他的方式来完成登录,例如,使用 - &man.kerberos.1; 或者通过 &man.ssh.1; 利用 公钥/密钥对 - 的方式来完成登录。当使用 Kerberos 这样的工具时,通常必须加强运行 - Kerberos 的服务器,以及桌面工作站的安全性。当使用 公钥/密钥对以 - ssh 登录时,通常必须加固用户 开始 - 登录的那台机器的安全 (通常这是他们的工作站)。 - 在这之上还可以增加一层安全性,即在使用 &man.ssh-keygen.1; - 生成它的时候,使用口令来保护它们。 如果能够用 - 星号 替换掉所有员工的口令, - 那么,这也就保证了他们只能通过您设置的安全的方法来登录。 - 这将迫使所有的员工使用安全的、经过加密的连接来完成他们的会话, - 而这将使得入侵者通过监听网络通讯, 从某些不相关的、 - 不太安全的机器上窃取口令成为不可能。 - - 另一种间接的安全机制则是, + 这会阻止用户 foobar 使用传统的方式登录。 + 但是对于使用了 Kerberos + 或者配置了 &man.ssh.1; 公钥/密钥对的情况下,用户依然可以访问。 + + 这些安全机制同样假定, 从严格受限的机器向限制更宽松的机器上登录。 例如, 如果您的服务器运行了所有的服务,那么,工作站应该什么都不运行。 为了让工作站尽可能地安全,应该避免运行任何没有必要的服务, @@ -1086,7 +1069,7 @@ Enter secret pass phrase: <secret password> Tom Rhodes - 作者: + 作者 @@ -4413,14 +4396,14 @@ VII. References 要显示关于刚刚发出的命令的相关信息, 则应使用 &man.lastcomm.1; 工具。 - lastcomm 可以用来显示在某一 &man.ttys.5; + lastcomm 命令可以用来显示在某一 &man.ttys.5; 上的用户信息, 例如: &prompt.root; lastcomm ls trhodes ttyp1 将会显示出所有已知的 trhodes - 在 ttyp1 终端上执行 ls 的情况。 + 在 ttyp1 终端上执行 ls 的情况。 更多的可用选项在联机手册 &man.lastcomm.1;、 &man.acct.5; 和 &man.sa.8; 中有所介绍。 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 @@ X 一开始就是针对网络而设计的,所以 采用了 client-server 模型。在 X 模型中, X server 运行在有键盘,显示器,鼠标的计算机上。 - 服务器用来管理显示信息,处理来自键盘和鼠标的输入等。 + 服务器用来管理显示信息,处理来自键盘和鼠标的输入信息, + 并与其他输入输出设备交互 (比如作为输入设备的 tablet, + 或者作为输出设备的投影仪)。 每一个 X 应用程序 (比如 XTerm, 或者 &netscape;) 就是一个 客户程序 (client)。 客户程序给服务器发送信息,如 请在这些坐标上画一个窗口, -- cgit v1.2.3