图书前言

序    言

Linux正在茁壮成长! Red Hat总是处于Linux革命的最前沿。这一切得益于Red Hat 认证系统管理员考试(Red Hat Certified System Administrators,RHCSA)和Red Hat认证工程师考试(Red Hat Certified Engineers,RHCE)。

在当前经济复苏时期,商业、教育和政府等机构都怀有强烈的成本意识。他们都希望能够控制自己的操作系统。Linux——甚至Red Hat 企业版的Linux(Red Hat Enterprise Linux)——都可以帮助节省成本。Linux的开源特性允许用户控制和定制自己的操作系统。虽然购买Red Hat 企业版Linux只需要一次付费,但是其成本还应该包括以后的更新和支持费用。现在有了KVM,它允许在单台物理计算机上安装多个虚拟的、相互独立的RHEL系统(及其他操作系统)。许多公司已经把众多的、塞满各种物理系统的房间转换为只包含有限几个系统的小机柜。在每个系统里都安装了许多虚拟机。作为Red Hat认证的系统管理员和工程师(RHCSA和RHCE),我们也可以投身到这场变革中。

虽然RHEL的支持版本也需要成本,但是用户可以不需要为这个成本付费。正如后面将要指出的,可以使用学生订阅版或试用版,或者由相同源代码构建的、免费使用的RHEL重构版本。

实际经验

重构版本是由第三方根据相同的源代码生成得到的软件。另一方面,克隆版本(clone)是由不同源代码生成得到的软件。

安全是许多公司选择Linux的另一个理由。美国国家安全局已经开发出自己的Linux内核版本,它在名为安全增强型Linux(Security-Enhanced Linux,SELinux)的系统里提供了基于环境的安全。RHEL已经把SELinux当作分层安全策略的一个重要组成部分。

通过RHCSA和RHCE 认证考试并不容易。根据现有的数据,只有50%的考生第一次通过RHCE考试。但是读者不要被这个统计数字吓跑。虽然无法保证,但是本书可以帮助读者准备并通过RHCSA和RHCE认证考试。本书介绍的技术同样可以应用到读者日常的系统管理工作中。需要记住的是,本书无意取代后面将要介绍的Red Hat培训课程(Red Hat Prep Courses)。

为了准备Red Hat认证考试,需要准备一个至少由3台Linux计算机组成的网络。由于RHCSA考试的重点是虚拟机,因此建议读者把其中两台Linux计算机用作KVM系统。配置了网络服务后,可以通过另一台计算机检查操作结果。

如何获得Red Hat企业版Linux操作系统

Red Hat考试测验考生对Red Hat 企业版 Linux操作系统的知识。但是现在有一个重要的变化,RHCSA认证目标规定了几个与虚拟机有关的考试目标。默认的RHEL 6 解决方案使用基于内核的虚拟机(Kernel-based Virtual Machine,KVM)。Red Hat 只支持64位CPU物理计算机上的KVM虚拟主机。因此,为了掌握RHCSA认证中与KVM有关的内容,读者需要一个能够处理RHEL 6 64位版本的硬件系统(但是,实际上可能并不需要真正的64位系统;在Scientific Linux上32位的KVM(基于相同的Red Hat源代码)也可以使用,后面将介绍Scientific Linux。

读者可能需要在此64位硬件系统上安装两个或两个以上的虚拟机。虚拟机在多CPU系统或者多核CPU系统上运行起来可能会更好。因此,为了避免因硬件缘故而影响读者的学习,建议读者的64位硬件系统至少要有2GB的RAM,4GB的RAM也许会更好(我是在8GB RAM的64位硬件系统上编写本书的)。如果读者使用便携式计算机,则建议读者阅读https://bugzilla.redhat. com/show_bug.cgi?id=667485网页上的有关说明。如果这个网页上列出的bug在你阅读本书的时候还没有解决,则硬盘驱动器的默认寿命可能会与这个bug有关。在Red Hat培训课程指南里,也没有明确把Red Hat 网络更新当作一个考试要求,因此使用试用订阅版或重构版就足够了。如果读者希望获得一个完整的订阅版(它可以帮助读者测试与Red Hat 网络有关的功能),则它的价格取决于硬件技术和技术支持的级别。需要强调,Red Hat只要求使用Red Hat 源代码的任何发行版本,包括本节提到的重构版本(及其他版本)。

对于Red Hat企业版Linux 6,Red Hat修改为以下3个不同的版本:

● RHEL 服务器版本(Linux Server)提供了不同级别的技术支持,它又分为3个基本类型:

?  普通的基于AMD和Intel CPU的32位和64位系统。其价格取决于CPU插槽数和支持虚拟访客的数量。

?  IBM POWER系统(IBM POWER Systems),其价格取决于CPU插槽数。

?  IBM z系统(IBM System z)。

● RHEL桌面(RHEL Desktop)系统,它为工作站提供了各个级别的技术支持。

● RHEL Add-ons系统可用于高可用性、弹性存储和负载均衡及其他领域中。

本书是我在RHEL 6服务器上完成的。RHEL 6工作站也有RHCSA和/或RHCE认证考试所需要的服务器程序包。虽然RHEL是根据开源许可协议发布的,但这只是指开源代码而已。访问这个二进制程序包需要购买一个订阅服务,这可能比较昂贵。

企业级操作系统的一个优点是它的稳定性。当一个企业把自己的操作系统升级到RHEL 6时,就是利用了这种稳定性,只需要一次性更新整个系统的配置。之后的安全升级和bug修正都可以自动完成。为此,Red Hat采取各种措施,避免强制出现这样的情形:企业只是为了一个修改版本(如RHEL 6.1)而更新自己的系统。如果一个企业对每个修改版本都要修订自己的配置文件,则Red Hat企业版操作系统的成本会大大增加。

出于同样的理由,修改版本也不会影响Red Hat考试目标。虽然RHEL 6.1改进了操作系统的性能,嵌入了bug修改程序,集成了安全的更新程序,但是并没有改变配置文件的任何默认参数(本书后面将要介绍)。

即使在未来的几个月里,Red Hat不断地推出RHEL 6.2、RHEL 6.3等修改版本,但我可以预料,情况还是一样。否则,Red Hat可能会失去它的客户,因为系统升级会给企业带来计划外的成本。我在近10年里一直监测RHEL版本,发现没有迹象表明认证目标因修改版本而发生变化。如果读者对此还有怀疑,则可以仔细分析www.redhat.com/certification/rhcsa/objectives/和www.redhat.com/certification/rhce/objectives/网页上的考试目标。

如果读者学习本书只是为了参加Red Hat认证考试,则Linux的产品网站上提供了试用版的订阅服务。例如在www.redhat.com/rhel/server网页里有一个“Free Evaluation Software”(免费评估软件)链接。但是,它要求用户必须使用Red Hat网络(Red Hat Network,RHN)账户。个人电子邮件地址(如某些搜索引擎里的那些电子邮件地址)不可用作RHN账户。虽然试用订阅版只支持30天的更新,但是利用重构发行版本的镜像储存库也可以测试更新内容。从这里还可以像付费Red Hat用户那样下载由相同源代码生成的操作系统。

如果读者是学生或教育机构的成员,也就是使用.edu电子邮件地址的用户,则可以使用学术订阅版本。在编写本书的时候,RHEL Server的学术订阅版本只需要60美元,这相对于最便宜的标准REHL Server订阅费用(349美元)也是很大的优惠。

但是,即使读者没有.edu或商业的电子邮件地址,也可以不用为准备RHCE认证考试支付完整版或试用版的费用。有几个项目专门重构(Rebuild)Red Hat 企业版Linux。它们使用的源代码几乎全部是以Linux通用公共许可证(Linux General Public License,GPL)或其他相关开源许可证发布的RHEL RPM程序包。这给任何用户提供了从Red Hat 发布的源代码重构Red Hat 企业版Linux的权利。

Linux的源代码是以Source RPM程序包格式发布的。这意味着,RPM程序包可以用rmpbuild命令生成(这个命令将在第12章中介绍)。重构版本的所有开发人员都会修改源代码,删除其中的Red Hat商标。有些发行版本,如Scientific Linux 6,免费供大众使用。另一些发行版本,如Oracle Linux,需要先注册,并且必须遵从美国出口控制法律等规定。

读者可以选择并下载最符合自己需要的重构版本。我曾试用过好几个重构版本,包括Scientific Linux版本和社区企业版本(Community Enterprise Linux,CentOS)。在本书将要印刷时,Microsoft宣布在自己的虚拟机软件里支持CentOS。

RHEL的重构版本可以免费使用;但是,读者必须有一个高速的Internet连接。虽然这些重构版本总是对RHEL 源代码做微小的修改(主要是删除Red Hat 商标,用自己的商标取而代之),但是我并没有发现这些修改可能会影响读者学习Red Hat认证考试。

● Scientific Linux  以前曾称为费米Linux(Fermi Linux),它集中了费米国家加速器实验室、欧洲粒子物理研究所(CERN)的许多知识分子精英。万维网最重要的发明人之一,即Tim Berners-Lee,就是欧洲粒子物理研究所的成员之一。

● 社区企业版Linux  由www.centos.org 小组开发的社区企业操作系统(Community Enterprise Operating System,CentOS)重构版本,在我看来,它是一个比较可靠的版本。这个小组拥有重构版本里最庞大的社区。CentOS开发人员提供的一些消息显示,CentOS-6将在本书出版时发布。

对于以Red Hat企业版Linux 6为基础的Red Hat认证考试,建议读者不要使用Fedora Linux。尽管RHEL 6基本上是建立在Fedora 12、Fedora 13甚至Fedora 14之上的,但是这3个发行版本在形式上的明显差别会引起考试内容的混乱。因此,强烈建议读者不要使用Linux的其他发行版本,因为Red Hat 认证考试是以Red Hat企业版Linux为基础的。在许多情形下,即使在Linux发行版里只属于一个标准的修改,也可能会给RHEL 6带来麻烦。

给使用本书的培训老师及其他人的建议

我希望每位读者仔细阅读本节内容。本书的组织形式便于一次只参加一个考试的读者学习。

为了方便培训老师的使用而对本书组织形式所做的修改也许是本书最大的特点。RHCSA和RHCE是两个不同的认证考试,本书的结构反映了这一点。如果读者只是想参加RHCSA认证考试,则只需要阅读第1~9章的内容。如果读者只想准备RHCE考试,则只需要阅读第1章和第10~17章的内容。这样安排也方便了使用本书的认证候选生,他们知道针对其中一个认证考试需要掌握哪些技能。

许多考生,也许是绝大多数考生,要在规定的时间内完成RHCSA和RHCE考试操作可能会有困难。节省考试时间的方法之一是把事情简单化。虽然认真阅读考试题目是非常有必要的,但是也不要做得太过头。例如,在RHCSA考试里不需要配置虚拟服务器。RHCE考试的一个目标是这样要求的:“只需要能够配置完成基本操作的服务”。

每一章都至少提供12道自测题。虽然Red Hat考试没有选择题或填空题,但是这些题目可以测验读者对本章内容的掌握程度。这些自测题强调读者的实践操作经验,因为这就是RHCSA 考试所要求的。

同理,对于RHCE考试,也要尽量把事情简单化,除非有特殊要求。例如,RHCE考试没有要求在防火墙里添加受怀疑的IP地址列表。只要求配置一个防火墙,允许某个指定的服务通过。简单的防火墙很快就能配置完毕。许多安全专家认为,越是简单的防火墙就越可靠。

有几个服务既属于RHCSA考试目标,也在RHCE目标里提到,因此这几个服务需要在多个章节里进行论述。例如,第1章讨论RHCSA与HTTP和FTP有关的考试目标,同时在第14章和第16章中也分别讨论这两个服务的RHCE认证目标。

第1章专门为读者建立一个学习RHCSA和RHCE认证考试所需要的基本系统。本章也会比较详细地介绍有关这两个认证考试的经验。一方面,本章介绍RHCSA在配置FTP服务器和HTTP服务器方面的认证目标;另一方面,它也提供如何从作为安装服务器的RHEL 6 DVD配置文件的指令。利用第7章提供的操作指示,读者应该能够把这个安装服务器设置为基于yum的储存库。后者可用于RHCE考试的服务器服务。

如果读者正在准备RHCE认证考试,那么可能需要了解RHCSA某些方面的内容。事实上,RHCE部分的内容假定读者已按照第2章的操作指示建立起基于KVM的虚拟机,按第1章中自测中实验题2的要求建立起网络上的网络储存库。

考试之前的准备

对于Red Hat考试,没有办法临时抱佛脚。但是正如运动员在比赛之前需要做热身活动一样,读者也可以在考试之前做“热身”活动。重温选定考试的每一个认证考试目标。复习每一章末尾的“故障情景与解决方案”表。思考哪些软件需要安装,哪些文件需要配置,哪些命令比较难记。

记住,Red Hat 的RHCSA 和RHCE考试专门用来测试考生是否具有Linux系统管理员和工程师的能力。如果读者通过了其中一门考试,这并不是因为你死记硬背了一组答案,而是因为你具有Linux系统管理员的一套技能,以及在压力下(不管是考试压力还是现实世界的压力)知道如何使用这些技能。

本书内容简介

本书的某些重要组成部分只出现在随附光盘上。从第2章(实验题2)开始,实验题内容只能在光盘上找到,而且实验题的存储格式允许读者在测试系统上读取它们。实验题的答案仍然出现在每章的末尾。假设读者已把CD挂载到Linux系统的/media目录上,则在光盘上的/media/ Chapter2、/media/Chapter3和/media/Chapter4等目录中可以找到这些实验题。此光盘也包含了本书内容的电子版。它采用了PDF文件的格式,保存在与实验题相同的Chapter文件夹里。PDF文件并没有包括实验题的电子版。

术语表(Glossary)只出现在光盘上。假设光盘挂载在同一个目录上,则在/media/Glossary目录里可以找到术语表。有关光盘的更多信息,以及如何在Linux里安装Adobe Reader,读者可以参考附录E。

RHCSA和RHCE是两个不同的认证考试。如果读者打算同时参加这两个考试,则本书可以帮助读者掌握这两个考试之间的差别。例如,在第2章里会看到,作为客户端的安全shell (SSH)是RHCSA的一个认证目标。另一方面,在第11章里我们会看到,作为服务端的安全shell属于RHCE考试的一个目标。

虽然本书的组织方便了有经验的Linux和Unix专业人士深入学习RHCSA 和RHCE考试内容,但是本书无意取代Red Hat培训课程。需要指出的是,本书无法取代实际的操作实践。尽管如此,本书的每一章讨论考试的某个重要专题,既强调系统管理员使用和维护RHEL的“原因”,也强调管理和维护的过程。由于RHCSA和RHCE目标(www.redhat.com/certification/rhcsa/ objectives和www.redhat.com/certification/rhce/objectives)随RHEL新版本的推出(甚至有时在两个版本之间)而变化,因此读者要想了解最新信息,可以访问前面提到的URL。

Red Hat认为,要通过他们的考试,必须具有实际的操作经验,这种说法很正确!但是,对于RHCSA和RHCE考试,他们确实把重点放在Linux系统管理员的一套技能上,这可以由相应的认证目标看出。本书的目的是帮助读者充分发挥自己已掌握的技能——更重要的是,帮助读者掌握某些不熟悉的技能。

本书包括有关Red Hat企业版Linux 6(RHEL 6)的内容。RHEL 6在某些方面与RHEL 5相比有明显的改进。两者之间的主要区别有:

● RHEL 6更好地支持“大规模、集中式管理的企业部署方案”;

● RHEL 6默认支持KVM虚拟机,并且重视系统的性能、可伸缩性和安全性;

● RHEL 6改进了电源管理功能;

● RHEL 6使用ext4文件系统,后者现在是默认文件系统,而且最多可以支持16TB的文件;

● 比较容易配置SELinux。

还有更多的重要功能。本书也包括一些我认为与RHCSA和RHCE考试有关的内容,这些内容也出现在Red Hat公开的教程或考试培训课程里。

在考试期间,以超级系统管理员身份登录到系统是一个非常危险的做法,但它确实是管理RHEL的最快捷方法。命令提示和PATH环境变量假定用户使用系统管理员的账户。当登录到根账户时,则会看到如下所示的命令行提示:

[root@server1 root]#

由于这个提示的长度可能会导致本书里的代码换行或断行,因此本书把这个根账户的提示简化为

#

特别需要注意的是,哈希标记(#)在Linux脚本和程序里用作注释字符。例如,下面是来自/etc/inittab的一段脚本:

# Default runlevel. The runlevels used are:

当我们以普通用户登录到Linux系统时,就会看到稍微不同的提示。假设采用michael用户登录到系统,则通常情形下系统的提示如下所示:

[michael@server1 michael]$

同样,我把上面的提示简化为

$

在每一章里都有很多命令行和代码段。正文中的命令,如ls -l,都用黑体表示。正文中的用户条目以及某些变量也用黑体表示。

书中有些命令会超出一行的长度,例如:

# virt-install -n outsider1.example.org -r 768 --disk

path=/var/lib/libvirt/images/outsider1.example.org.img -l

ftp://192.168.122.1/pub/inst -x "ks=ftp://192.168.122.1/pub/ks1.

cfg"

除非这个命令经过精心排列,否则换行符可能会出现在错误的位置,如出现在—disk开关前面的两个短划线之间。解决这个问题的方法之一是使用反斜杠符号(\),它转义表示其后的回车符(反斜杠也可以转义空格,因此可以方便地使用长文件名)。这样,虽然下面的内容看起来在4个不同的行里,但是根据反斜杠符号的作用,Linux会把它当作一个命令来处理。

# virt-install -n outsider1.example.org -r 768 --disk \

path=/var/lib/libvirt/images/outsider1.example.org.img \

-l ftp://192.168.122.1/pub/inst \

-x "ks=ftp://192.168.122.1/pub/ks1.cfg"

有时区别是很微妙的。有时需要实际输入一个命令,或者在命令行里响应一个请求。在这种情形中,会看到“type y”这样的指示。或者,有些菜单要求按下一个键。例如,为了进入到密码提示,需要按下P键。在这种情形中,当我们按下这个键时,屏幕上不会出现字母p。此外,A尽管外表看起来是大写,但实际上是小写。相反,A表示大写的A。

令有些出版商感到麻烦的是双短划线。有些排版软件把双短划线改为破折号(em dash)。但是这会带来问题。两短划线经常出现在Linux的许多命令里。例如,下面的命令列出所有已安装在本地系统上的程序包:

# rpm --query --all

当我在自己的RHEL 6系统上执行这个命令时,它列出了1300个程序包。

相反,下面的命令列出本地系统上所有程序包里的文件:

# rpm --query -all

当我在自己的RHEL 6系统里执行上述命令时,它列出133 000个文件。这个结果完全不同于前一个命令的结果。因此,读者必须注意书中的短划线。希望本书的出版商在排版本书时特别注意双短划线。

考试知识点检查表

在本引言的末尾是考试知识点检查表(Exam Readiness Checklist)。这些表是为了方便读者交叉参考官方的考试目标而设计的。同时,这些检查表也可以帮助读者评估自己在开始学习时的专业水平。这样有利于读者检查自己的学习进展,确保在某些不熟悉或比较难的方面花较多的时间。检查表列出官方的考试目标、本书介绍这些考试目标的学习专题以及相关内容所在的章和页码。

每章内容简介

为了编好本书,我专门建立了一套章节组成部分,目的是引起读者对书中重要内容的注意,强化重要的知识点,提供有用的考试提示。读者在每章里都会遇到以下符号:

● 每一章都以认证目标(Certification Objectives)开始——即读者为了通过认证考试而需要在本章掌握的技能。在“目标”标题下确定本章的主要目标。因此只要读者看到这个标题,就知道它是一个考试目标。

● 考试提示(Exam Watch)用于引起读者对考试有关的信息以及可能存在的陷阱的注意。这些有用的提示信息都是由参加考试并获得认证的作者提供的——还有谁比他们更适合告诉你们考试的注意事项?他们经历了读者将要经历的一切过程。

● 每章都有实践操作题(Practice Exercises)。这些逐个步骤的练习让读者获得考试所需要的实际操作经验。它们也有助于读者掌握考试要点。不要只是看看这些题目而已,而是要动手完成这些操作题。实践是提高技能掌握水平最好的方法。记住,Red Hat 考试完全是实践型考试,这些考试没有多选题。

● 实际经验(On the Job)栏说明了在实际情形中经常遇到的问题。“实际经验”栏提供了与认证考试和实际产品有关的、十分有用的经验,它们指出了常见的错误和工作中经常讨论和经历的问题。

● 考试内幕(Inside the Exam)栏突出了在实际考试过程中经常遇到的和最容易混淆的问题。这个栏目是专为预测未来考试的重点内容而设计的,它帮助读者切实理解通过考试需要掌握的要点。如果读者多注意这些栏目里的内容,并且完成那些比较难理解的实验题,就会比其他考生更有优势。

● 故障情景与解决方案(Scenario & Solution)栏以便于阅读的表形式列出可能存在的问题及解决方案。

● 认证小结(Certification Summary)总结了本章的内容,复习本章中与考试有关的重要技能。

● 每章末尾的小练习(Two-minute Drill)是本章重要知识点的检查表。可以在考试前的最后时刻做这些练习。

● 自测题(Self test)帮助读者测评自己对与认证考试有关的实用知识的掌握程度。这些自测题的答案以及说明都在每章的末尾给出。在阅读每章之后做这些自测题可以巩固你在每章学到的知识。本书并不打算提供多选题,因为Red Hat 考试并没有这样的题目。

● 自测题之后的实验题(Lab Question)提供了独一无二的和具有挑战性的操作练习。要回答这些题目,读者需要综合利用本章的知识。这些问题比较复杂,而且综合性较强,它们用来测试读者对本章全部内容的掌握程度以及把它们应用于复杂的真实情形的能力。从第2章的实验题2开始,所有实验题都只出现在本书的光盘上,采用与Red Hat考试相一致的电子格式。记住,Red Hat考试只有实验题!如果读者能够完成这些实验题,则说明读者已经掌握相关主题。

附加资源

有些读者可能还想深入研究Linux。深入研究Linux的最佳方法是阅读Red Hat的帮助文档。我有关RHEL 6的很多知识都来自于http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/上的帮助文档。对于读者,以下也许是比较有用的指南:

● 安装指南  由于Red Hat 考试使用预先配置好的系统,因此这个安装指南相对来说不是很重要,但是它包含了有关Kickstart的重要内容。

● 部署指南  部署指南也许是与如下内容有关的最重要的指南:Red Hat给出的如何为完成基本操作配置服务的建议。

● 安全增强型Linux  安全增强型Linux指南详细介绍了帮助进一步提高系统安全的各种选项。

几点建议

当读者读完本书之后,最好花点时间对本书内容做一个全面的总结。读者可能以后经常需要翻看本书,应用本书提供的很多方法:

● 重读书中的全部“考试提示”  记住由那些参加并通过考试的考生提供的注意事项。他们知道你们所需要的知识——以及应该注意哪些问题。

● 复习所有的故障情景与解决方案  找到快速解决问题的方法。

● 重做自测题  重点是操作题,因为Red Hat 考试没有多选题(或填空题)。本书提供的自测题只是为了测验读者是是否掌握了每一章的实践性知识。

● 完成练习  读者是否读完每章后就立刻做后面的练习呢?如果没有,则必须这样做。这些练习包括了考试的主要内容。掌握这些内容的最好方法莫过于实践操作。对于每个练习里的每一步操作,都要问为什么。如果发现自己对某个问题还没有弄清楚,则重读本章相应的内容。

前    言

Red Hat考试具有挑战性

前言论述获得一个行业公认的证书的理由,并说明RHCSA和RHCE 认证的重要性,以及如何准备考试。此外,前言还介绍在考试当天的准备工作和相关事宜。

本书包括了在编写时所有公开的认证目标。有关最新的认证目标,可以参阅www.redhat.com/ certification/rhcsa/objectives/和www.redhat.com/certification/rhce/objectives/这两个网站。Red Hat也公开发布了考试培训课程(后面将要介绍)的教学大纲。虽然公开发布的考试目标都十分准确,但是培训课程的教学大纲会提供更详细、更有用的信息。Red Hat的每个培训课程都在系统管理、网络管理、安全等技术方面提供了坚实的基础。为此,本书也提到RH124、RH134和RH254等Red Hat课程的大纲。这些课程后面还会谈到。

尽管如此,本书无意取代任何Red Hat培训课程。

在竞争中胜人一筹

 Red Hat的RHCSA 和RHCE 认证考试属于实践操作型考试。因此,它们被整个行业认为是具有真正实践操作能力的标志。如果读者通过这些考试,则会比那些只通过“标准”选择题型认证考试的考生更胜一筹。

从1999年开始,Red Hat 就已开始提供实践操作型考试,在过去几年里,这些考试不断得到完善。正如第1章将要详细介绍的,现在的RHCSA 考试时间为2.5小时,RHCE考试时间为2小时。考试内容及要求在本前言后面的考试知识点检查表里有详细介绍。虽然这些考试的合格分数目前并没有公开,但是针对RHEL 5的Red Hat考试,在某个时期的合格分数是70分,这里假设满分为100分。公开发布的第三方报告认为,这个合格分数并没有改变。

采用实践型操作考试的原因

当今大多数认证考试都是采用选择题形式。对于这些类型的考试,其成本相对较低,而且监考容易。但是,许多没有真正技能的人却擅长这些类型的考试。在某些情形中,这些选择题型考试的答案在网络中早已存在。这导致了这样一种现象:那些通过认证的工程师相当于一个“纸老虎”,他们并没有掌握真正的技能。

针对这种情形,Red Hat 希望设计一个具有实际价值的认证考试项目。在我们看来,他们已经在RHCSA考试、RHCE 考试以及其他高级考试中取得了很大的成功。

Linux系统管理员有时需要在一台计算机或一个虚拟机上安装Linux系统。事实上,RHCSA 也包含几个与此问题有关的目标。系统管理员可能需要通过网格从一个中央储存库安装Linux系统,这取决于系统的配置。仅仅会安装Linux是不够的,更重要的是会使用Linux。管理员需要知道如何配置Linux:添加用户、安装和配置服务、建立防火墙以及其他操作。

考试提示

RHCSA 和RHCE 认证考试是Red Hat 考试。掌握Ubuntu等Linux或Unix发行版的知识以及Apache、SMB、NFS、DNS、iptables和SSH等服务的使用经验当然是有帮助的。但更重要的是如何在Red Hat 企业版Linux(或使用相同源代码的重构版,如Scientific Linux、CentOS或Oracle Linux)下掌握这些服务的建立、配置、安装和调试方法。

为RHCSA和RHCE考试做好准备

随着RHEL 6的发布,Red Hat引入了RHCSA考试以取代RHCT。RHCSA考试独立于RHCE考试。当然,两者确实存在一定的重叠。例如,SELinux同时出现在这两个考试里,但是这两个考试的要求范围却不相同。RHCSA和RHCE认证根据不同考试的结果进行评测。

RHCSA属于初级Red Hat认证。虽然可以先考RHCE,但是Red Hat不会授予RHCE证书给考生,除非他们已经通过了RHCSA考试。有些考生可能会在同一天参加这两个考试。正如第1章将要提到的,Red Hat 已公开发表声明,Red Hat考试现在采用电子形式,本书提供的光盘也以电子形式向读者提供(绝大部分)实验题和考试模拟卷。

读者必须使用Red Hat 企业版Linux,并在一台没有其他用途的计算机上安装Linux系统,配置本书介绍的服务,找出保护这些服务安全的各种不同方法,从网络内部和网络外部测试这个系统。

在读者阅读本书的过程中,有好几个情况需要安装RHEL。如果读者的计算机不止一台,可以通过网络安装RHEL,然后测试各个网络服务。测试每个配置的服务,最好从网络上的另一台计算机进行测试。当需要验证考试中或生产网络中用到的安全功能时,测试是非常重要的。

Red Hat认证项目

Red Hat提供多个课程,帮助读者准备RHCSA和RHCE认证。这些课程的绝大多数需要4~5天的时间。在某些情形下,一些课程也以电子形式提供。

Red Hat 提供的培训课程不仅限于上述这些。它还提供其他培训课程,如Red Hat认证构架师(Red Hat Certified Architect,RHCA)、Red Hat认证虚拟化管理专家(Red Hat Certified Virtualization Administrator,RHCVA)、Red Hat认证数据中心专家(Red Hat Certified Datacenter Specialist,RHCDS)和Red Hat认证安全专家(Red Hat Certified Security Specialist,RHCSS)。但是必须先通过RHCSA和RHCE认证,它们是Red Hat其他认证的先决条件,例外情形是RHCVA认证。

是否必须参加RHCSA/RHCE培训课程

本书无意取代任何Red Hat RHCSA 或RHCE培训课程。但是,本书讨论的主题内容部分来源于www.redhat.com/courses网站上培训课程的教学大纲。根据最初的设计愿望,这些内容可以帮助Linux用户成为一名真正合格的系统管理员,这一点已得到证实。读者只需要记住,Red Hat随时会改变这些考试内容和培训课程的教学大纲,因此要掌握最新的内容,读者需要经常访问www.redhat.com网站。表1介绍了与RHCSA和RHCE考试有关的课程。

表1  与Red Hat RHCSA/RHCE认证考试有关的课程

课    程 说    明

RH124 系统管理I级:核心系统管理技能

RH134 系统管理II级:Linux系统管理员的命令行技能(RH135中不包括RHCSA内容)

RH135 系统管理II级:包含RHCSA内容

RH199 为有经验的系统管理员提供的快速培训课程

RH200 RH199+ RHCSA考试

EX200 只包括RHCSA考试

RH254 系统管理III级:高级安全与服务器技能

RH299 系统管理Ⅳ级:针对有经验的系统管理员的Red Hat 快速课程

RH300 RH299+RHCSA考试+RHCE考试

EX300 RHCE考试

Red Hat提供的课程都是很不错的。教授这些课程的老师都具有高超的技能。如果读者已经拥有这些技能,则这是准备参加RHCSA和RHCE考试的最佳方式。如果读者觉得需要得到这些老师的指导,则先阅读本书,然后参加这些培训课程。

如果读者还没有确定是参加培训课程还是使用本书,则可以阅读本书的第1章。这一章概括介绍与RHCSA和RHCE认证考试相关的要求及相应内容。如果读者觉得第1章的内容太难,无法接受,则可以考虑使用本章开头介绍的参考书之一或者其他Red Hat较低级的课程。此外,第1章里提供了一个实验题,目的是让读者了解Linux职业学院对第一级认证(LPIC-1)的要求。一些与你一样也准备参加Red Hat考试的计算机高手总是先参加LPIC-1考试。

或者,读者可能已经熟悉了本书的内容,而且具有通过RHCSA和RHCE考试所需要的知识深度和广度。在这种情形下,读者可以使用本书,它可以让读者快速熟悉这两个考试所需要的技术和技能。

RHCSA/RHCE课程和/或考试的注册

Red Hat为培训课程和测试提供了方便的、基于Web的注册系统。要注册Red Hat的某门课程或考试,需要先导航到www.redhat.com网站,单击Training | Courses链接,然后选择想要参加的培训课程或考试。如表1所示,有些考试有专门的培训课程。例如,RHCSA和RHCE考试有相应的专门课程EX200和EX300。考试可以作为在线培训课程或者有指导老师负责的培训课程的一部分。或者,联系Red Hat入学注册中心,它的email地址是training@redhat.com,联系电话是(866)626-2994。

对于已经通过RHCE 或RHCE认证的考生,Red Hat 提供了优惠措施。关于当前的优惠信息可以阅读https://www.redhat.com/training/specials/网站上的内容。在缴付考试费时,不要忘记提供优惠代码(offer code)。

在注册之前,仔细阅读当前的Red Hat 政策,www.redhat.com/training/policy/网站上有这方面的信息。注意,Red Hat也可能由于参加考试的人数比较少而取消考试。

最后的准备

Red Hat考试是很累人的。对于拥有相关技能的考生,最重要的是考试时保持清醒的头脑。如果考生感觉到疲劳或者恐慌,则可能会想不起经常使用的、十分容易的解决方法。在考试前一个晚上,要保证充足的睡眠。早餐要吃饱,可以带一些点心,想办法让自己处于巅峰状态。

RHCSA考试需要2.5个小时,RHCE 考试需要2个小时。在很多时候,Red Hat尽量会安排让一个考生在同一天参加两个考试。虽然这对于那些需要跑很长路的考生来说可以带来旅途方便(在北美有超过40个城市设有考点),但是在同一天参加这两个考试就像是参加两次马拉松赛跑。本书属于高级教程,不是为Linux或Unix入门者设计的。原来的“必备技能”已经合并到RHCSA要求里,因此本书只是简单地介绍与这些必备技能有关的工具——主要在第1章和第3章。如果读者想进一步了解这些必备技能,Red Hat提供了其他培训课程(浏览www.redhat.com/ apps/training/),或者可以阅读第1章介绍的参考书。

考试内幕

RHCSA和RHCE认证对应于两个不同的考试。然而,RHCE考试要求考生掌握比RHCSA更高级的技能。由于它们是两个不同的考试,因此本书分开介绍它们的目标。读者可以注意www. redhat.com/certification/rhcsa/objectives/和www.redhat.com/certification/rhce/objectives/上的最新内容。

RHCSA考试

表2  RHCSA考试知识点检查表

认 证 目 标 学 习 主 题 章

分类:基本工具的认识和使用

用正确的语法访问shell提示和执行命令 shell,标准命令行工具 3

用grep和正则表达式分析文本流和文件 文本文件的管理 3

使用输入/输出重定向 shell 3

用SSH访问远程系统 用安全shell管理系统 2

用VNC访问远程系统 用VNC配置访问 9

在多用户运行级别中登录和切换用户 用户和shell配置 8

(续表)  

认 证 目 标 学 习 主 题 章

用tar、star、gzip和bzip2命令存档、压缩、解包、解压缩文件 基本的系统管理命令 9

创建和编辑文本文件 文本文件的管理 3

建立、删除、复制、移动文件和目录 标准的命令行工具 3

建立硬链接和软链接 标准的命令行工具 3

列出、设置和修改ugo/rwx权限 基本的文件权限 4

定位、读取、使用系统文档,包括man、info命令和/usr/share/doc目录里的文件 本地在线文档 3

分类:操作运行的系统

正常的启动、重新启动和关闭系统过程 引导程序与GRUB;在GRUB和登录之间 5

在系统引导时,用手动方法把系统引导到不同的运行级别 引导程序与GRUB 5

用单用户模式访问系统 引导程序与GRUB 5

识别CPU/内存密集型进程,用renice和kill进程调整进程优先级 基本的系统管理命令 9

定位和解释系统的日志文件 本地日志文件分析 9

访问虚拟机的控制台 配置KVM上的一个虚拟机 2

启动和停止虚拟机 配置KVM上的一个虚拟机 2

启动、停止网络服务、检查网络服务的当前状态 联网入门 2

分类:建立、配置文件系统

建立、挂载、卸载和使用ext2、ext3和ext4文件系统 卷管理与分区、文件系统格式化、文件系统管理 6

建立、挂载、使用LUKS加密的文件系统 用LUKS方法加密卷 6

挂载、卸载CIFS 和NFS网络文件系统 文件系统管理 6

配置系统,它可以自动挂载ext4文件系统、LUKS加密的文件系统和网络文件系统 文件系统管理 6

扩展现有的未加密的ext4格式逻辑卷 逻辑卷管理(LVM) 6

配置用于协作的GID目录 特殊组 8

建立和管理访问控制列表(ACL) 访问控制列表及其他 4

诊断和修正文件权限问题 基本文件权限 4

分类:系统的部署、配置和维护

配置网络连接以及主机名静态和动态解析 网络配置与故障排查 3

用cron实现任务调度 系统管理的自动化:cron和at命令 9

系统配置:自动启动到某个运行级别 在GRUB和登录之间 5

用Kickstart自动安装Red Hat企业版Linux 自动安装的选项 2

在一个物理机器上配置以托管虚拟访客 为Red Hat配置KVM 2

以虚拟访客的身份安装Red Hat 企业版Linux 在KVM上配置一个虚拟机 2

配置系统,使它在引导时启动虚拟机 在KVM上配置一个虚拟机 2

配置网络服务,使服务在引导时自动启动 运行级别的控制 5

配置一个系统,它可以运行一个默认配置的HTTP服务器 配置默认文件共享服务 1

配置一个系统,它可以运行一个默认配置的FTP服务器 配置默认文件共享服务 1

通过Red Hat网络、远程储存库或本地文件系统安装和更新软件程序包 Red Hat程序包管理器、依赖关系和yum命令、其他程序包管理工具 7

(续表)  

认 证 目 标 学 习 主 题 章

适当更新内核程序包,确保可引导系统的安全 Red Hat 程序包管理器 7

修改系统的引导程序 引导程序与GRUB 5

分类:用户和组的管理

建立、删除、修改本地用户账户 用户账户的管理 8

修改密码,解决本地用户账户的密码过期问题 用户账户的管理 8

建立、删除和修改本地组和组成员关系 用户账户的管理 8

配置一个系统,它用现有的LDAP目录服务保存用户和组的信息 用户与网络认证 8

分类:安全管理

用system-config-firewall或iptables命令配置防火墙设置 防火墙的基本控制 4

给SELinux设置强制模式和许可模式 安全增强型Linux入门 4

显示和识别SELinux文件和进程上下文 安全增强型Linux入门 4

恢复默认的文件上下文 安全增强型Linux入门 4

用二进制参数修改系统的SELinux配置 安全增强型Linux入门 4

诊断和处理日常的SELinux策略违反问题 安全增强型Linux入门 4

表3  RHCE考试目标检查表

RHCE考试知识检查表

认 证 目 标 专    题 章

分类:系统配置与管理

路由IP流量,建立静态的路由 特殊网络选项 12

用iptables实现数据包过滤和配置网络地址转换(NAT) 防火墙和网络地址转换 10

用/proc/sys和sysctl修改和设置内核运行时参数 内核运行时参数 12

配置一个使用Kerberos认证的系统 特殊网络选项 12

建立一个简单的RPM,它对一个文件进行打包 建立一个RPM程序包 12

把一个系统配置为iSCSI启动,它可以持久挂载一个iSCSI目标 特殊的网络选项 12

生成并发布利用报告(处理器、内存、磁盘和网络) 建立系统利用报告 17

用shell脚本功能自动实现系统的维护 系统维护的自动化 12

配置一个系统,它可以记录到一个远程系统 配置一个系统日志记录服务器 17

配置一个系统,它可以接受来自远程系统的记录 配置一个系统日志记录服务器 17

分类:网络服务(以下5个目标都针对网络服务)

安装提供网络服务所需要的程序包 全部RHCE章节 10-17

配置SELinux,支持网络服务 安全增强型Linux,以及每个服务的其他章节 10-17

配置网络服务,使得它在系统启动时自动启动 安全和配置检查表 11

配置完成基本操作的服务 所有RHCE章节 10-17

为服务配置基于主机的安全和基于用户的安全 所有RHCE章节 10-17

子分类:HTTP/HTTPS

配置一个虚拟主机 一般的和安全的虚拟主机 14

(续表)  

RHCE考试知识检查表

认 证 目 标 专    题 章

配置专用目录 专用的Apache目录 14

部署一个基本的CGI应用程序 部署一个基本的CGI应用程序 14

配置组托管的内容 专用的Apache目录 14

子分类:DNS(不要求考生配置主名称服务器和从名称服务器)

配置一个仅缓存的名称服务器 最少的DNS服务器配置 17

配置一个仅缓存的名称服务器,它可以转发DNS请求 最少的DNS服务器配置 17

子分类:FTP

配置只允许匿名访问的下载功能 非常安全的FTP服务器 16

子分类:NFS

给特定的客户端提供网络共享服务 网络文件系统(NFS)服务器 15

为组协作提供合适的网络共享 网络文件系统(NFS)服务器 16

子分类:SMB

给特定的客户端提供网络共享服务 Samba服务、Samba故障排查 15

为组协作提供合适的网络共享 Samba服务、Samba故障排查 15

子分类:SMTP

配置一个邮件转发代理(MTA),它可以接受由其他系统传入的电子邮件 Postfix的配置,其他STMP服务:sendmail 13

配置一个MTA代理,它通过一个智能主机转发(中继)电子邮件 Postfix的配置,其他STMP服务:sendmail 13

子分类:SSH

配置基于键的认证 安全shell服务器 11

配置文档里介绍的其他选项 安全shell服务器 11

子分类:NTP

使用其他NTP对等体同步时间 网络时间服务器服务 17