Fedora和Red Hat Enterprise Linux实用指南(第6版)(上、下册)( 入行必读的Linux圣经)

Fedora和Red Hat Enterprise Linux实用指南(第6版)(上、下册)入行必读的Linux圣经)

(美)苏贝尔(SobellL,M.G.)著

李洋等译

ISBN 978-7-121-19333-0

2013年1月出版

定价:198.00元

1308页

16开

Fedora和Red Hat Enterprise Linux实用指南(第6版)(上、下册)( 入行必读的Linux圣经)

编辑推荐

首屈一指的Fedora和RHEL的参考资源:学习和工作的最佳参考

全面掌握Linux管理和安全:采用基于GUI的图形化工具、命令行以及Perl脚本语言

搭建重要的Internet服务器:一步一步第搭建示例,包括SambaApachesendmailDNSLDAPFTP等服务器。

内容提要

本 书采用通俗易懂的语言和大量的实例,对目前企业应用最为广泛的Fedora和Red Hat Enterprise Linux版本的应用进行了系统、科 学、全面的介绍,包括Linux系统管理、互联网服务器搭建、内核编译及执行、命令行使用等重点内容,并且对应用Perl脚本进行自动化管理进行了详细介 绍。

本书适合广大Linux从业人员(包括系统和网络管理人员)、Linux爱好者,同时,本书也不失为一本很好的大中专院校Linux系统学习的教材。

目录

上册

内容速览 ................................................................................................XXVII

前言 .................................................................................................. XXIX

1章 欢迎来到Linux的世界 ........................................................ 1

1.1UNIXGNU-Linux的历史 ..................................................... 2

1.1.1Linux 的鼻祖:UNIX ................................................ 2

1.1.2 回顾1983年 ................................................................ 3

1.1.3 接下来的场景,1991年 ..................................................................................................... 4

1.1.4 代码是免费的 ............................................................ 4

1.1.5 玩得开心 .................................................................... 5

1.2 是什么使Linux如此优秀 ......................................................... 5

1.2.1 为什么Linux在硬件厂商和开发人员中广受欢迎 ................................................... 8

1.2.2 可移植的Linux ........................................................... 9

1.2.3C编程语言 .................................................................. 9

1.3Linux概述 .............................................................................. 10

1.3.1Linux具有内核编程接口 .........................................................................11

1.3.2Linux支持多用户 ......................................................11

1.3.3Linux可以运行多任务 ........................................................................11

1.3.4Linux提供安全的分层文件系统 .................................................................11

1.3.5Shell:命令解释器和编程语言 ....................................................................................... 12

1.3.6 一个有用工具的大集合 .................................................................................. 14

1.3.7 进程间通信 .............................................................. 14

1.3.8 系统管理 .................................................................. 14

1.4Linux的其他特性 ................................................................... 15

1.4.1GUI:图形用户界面 ............................................... 15

1.4.2 (连接)网络实用工具 ................................................................................................... 15

1.4.3 软件开发 .................................................................. 16

1.5 本书约定 ............................................................................... 16

1.6 本章小结 ............................................................................... 18

1.7 练习 ....................................................................................... 18

1部分 安装Fedora/RHEL Linux

2章 安装概述 .............................................................................. 22

2.1 桌面Live CD和安装DVD ...................................................... 23

2.2 更多信息 ............................................................................... 24

2.3 安装规划 ............................................................................... 25

2.3.1 注意事项 .................................................................. 25

2.3.2 需求 ......................................................................... 25

2.3.3 处理器架构 .............................................................. 27

2.3.4 界面:安装程序和安装系统 ........................................................................................... 28

2.3.5 安装哪一个:FedoraRed Hat Enterprise Linux ........................................................... 29

2.3.6Fedora/RHEL的发行 ................................................ 30

2.3.7Fedora标准版本 ....................................................... 30

2.3.8Fedora发行集 ........................................................... 31

2.3.9 安装一个全新的副本或升级现有的Fedora/RHEL系统 ........................... 31

2.3.10 硬盘设置 .................................................................. 31

2.3.11 RAID ........................................................................ 38

2.3.12 LVM:逻辑卷管理器 ....................................................................................................... 39

2.4 安装过程 ............................................................................... 40

2.5 下载和刻录CD/DVD ............................................................. 40

2.5.1 下载CD/DVD ISO映像文件的简便方法 ......................................................................... 41

2.5.2 下载CD/DVD ISO映像文件的其他方式 ......................................................................... 41

2.5.3 验证ISO映像文件 .................................................... 43

2.5.4 刻录CD/DVD ........................................................... 44

2.6 收集系统信息 ....................................................................... 44

2.7 本章小结 ............................................................................... 46

2.8 练习 ....................................................................................... 46

2.9 高级练习 ............................................................................... 46

3章 一步一步安装 ...................................................................... 47

3.1 运行Fedora Live会话 ............................................................. 48

3.1.1 引导系统 .................................................................. 48

3.2 安装Fedora/RHEL .................................................................. 50

3.2.1 从Live会话安装Fedora .................................................................................................... 51

3.2.2 从DVD安装盘进行安装/升级 ............................................................................. 52

3.2.3Anaconda安装程序 .................................................. 53

3.2.4Firstboot:当重新启动时 ................................................................................................. 61

3.2.5 初始化数据库和更新系统 ........................................................................... 62

3.3 安装任务 ............................................................................... 63

3.3.1 修改引导参数(选项) ................................................................................................... 63

3.3.2 使用Disk Druid对磁盘进行分区 ................................................................ 66

3.3.3palimpsestGNOME的磁盘工具 .................................................................................... 72

3.3.4 使用Kickstart配置器 ................................................ 76

3.3.5 设置一个双重引导系统 ................................................................................... 77

3.4gnome-control-center/Displays:配置显示 .............................................. 79

3.5 本章小结 ............................................................................... 79

3.6 练习 ....................................................................................... 80

3.7 高级练习 ............................................................................... 80

2部分 Fedora/RHEL入门

4章 介绍FedoraRed Hat Enterprise Linux ................................................................ 82

4.1 限制你的权力(超级用户/root权限) ....................................................... 83

4.2Fedora/RHEL桌面之旅.......................................................... 83

4.2.1 登录系统 .................................................................. 84

4.2.2 配置后备模式(Fedora) ................................................................................................ 85

4.2.3 安装和使用gnome-tweak-toolFedora) ....................................................................... 86

4.2.4 桌面简介 .................................................................. 88

4.2.5 从桌面启动程序 ...................................................... 89

4.2.6 切换工作区 .............................................................. 90

4.2.7 设置个人首选项 ...................................................... 91

4.2.8 鼠标首选项 .............................................................. 92

4.2.9 窗口操作 .................................................................. 93

4.2.10 使用Nautilus处理文件 ............................................................................. 94

4.2.11 软件更新 ................................................................. 100

4.2.12 会话管理 ................................................................. 101

4.2.13 获得帮助 ................................................................. 101

4.2.14 随意实验 ................................................................. 102

4.2.15 注销 ....................................................................... 102

4.3 发挥桌面的最大作用 .......................................................... 102

4.3.1GNOME桌面术语 .................................................. 102

4.3.2 打开文件 ................................................................ 103

4.3.3 面板 ....................................................................... 104

4.3.4 主菜单 .................................................................... 105

4.3.5 窗口 ....................................................................... 105

4.3.6 对象的上下文菜单 ................................................ 109

4.4 更新、安装和删除软件包 ...................................................112

4.4.1 更新 ........................................................................113

4.4.2 添加/删除软件 ........................................................113

4.5 在哪里能找到文档 ...............................................................114

4.5.1GNOME桌面帮助窗口 .............................................................................114

4.5.2man:显示系统手册 ...............................................114

4.5.3apropos:根据关键字搜索 ..........................................................116

4.5.4info:显示工具的有关信息 ............................................................................................117

4.5.5--help选项 ................................................................119

4.5.6HOWTO:找到工作原理 ............................................................................................... 120

4.5.7 获得帮助 ................................................................ 120

4.6 关于登录的更多信息 .......................................................... 123

4.6.1 登录画面 ................................................................ 123

4.6.2 如果无法登录该怎么办 ....................................................................... 123

4.6.3 远程登录:终端仿真、ssh和拨号连接 ........................................................................ 124

4.6.4 从终端(仿真器)登录 ................................................................................................. 124

4.6.5 更改密码 ................................................................ 125

4.6.6 使用虚拟控制台 .................................................... 127

4.7 在命令行中工作 .................................................................. 127

4.7.1 纠正错误 ................................................................ 128

4.7.2 重复/编辑命令行 ................................................... 129

4.8 本章小结 ............................................................................. 130

4.9 练习 ..................................................................................... 131

4.10 高级练习 ............................................................................. 132

5章 Linux实用程序 .................................................................... 133

5.1 特殊字符 ............................................................................. 134

5.2 基本实用程序 ...................................................................... 135

5.2.1ls:列出文件的名称 ....................................................................................................... 135

5.2.2cat:显示一个文本文件 ................................................................................................. 136

5.2.3rm:删除一个文件 ................................................ 136

5.2.4lessmore:一次仅显示一个文本文件的一屏 ........................................................... 137

5.2.5hostname:显示系统名称 .............................................................................................. 137

5.3 使用文件 ............................................................................. 137

5.3.1cp:复制一个文件 ................................................. 137

5.3.2mv:更改文件名 ................................................... 138

5.3.3lpr:打印文件 ........................................................ 139

5.3.4grep:搜索字符串 ................................................. 140

5.3.5head:显示文件的开头 .................................................................................................. 140

5.3.6tail:显示文件的末尾 .................................................................................................... 141

5.3.7sort:按顺序显示文件 ................................................................................................... 142

5.3.8uniq:从文件中删除重复行 .......................................................................................... 142

5.3.9diff:比较两个文件 ............................................... 143

5.3.10 file:标识文件的内容 .................................................................................................... 144

5.4|Pipe):进程间通信 ...................................................... 144

5.54个常用工具 ....................................................................... 145

5.5.1echo:显示文本 ..................................................... 145

5.5.2date:显示时间和日期 .......................................................................... 146

5.5.3script:记录Shell会话 .................................................................................................... 146

5.5.4unix2dos:把LinuxMacintosh文件转换为Windows格式 ............................... 147

5.6 压缩和归档文件 ................................... 148

5.6.1bzip2:压缩文件 .................................................... 148

5.6.2bzcatbunzip2:解压缩文件 .......................................................... 149

5.6.3gzip:压缩文件 ...................................................... 150

5.6.4tar:打包和解包文档 ..................................................................................................... 150

5.7 定位实用程序 ...................................................................... 153

5.7.1whichwhereis:定位一个实用程序 .................................................... 153

5.7.2locate:搜索一个文件 .................................................................................................... 154

5.8 显示用户和系统信息 .......................................................... 155

5.8.1who:列出系统上的用户 ............................................................................................... 156

5.8.2finger:列出系统上的用户 ............................................................................................ 156

5.8.3w:列出系统上的用户 ................................................................................................... 158

5.9 与其他用户通信 .................................................................. 158

5.9.1write:发送消息 .................................................... 158

5.9.2mesg:拒绝或接受消息 ................................................................................................. 159

5.10 电子邮件 ............................................................................. 160

5.11 教程:使用vim创建和编辑文件 ................................................................... 160

5.11.1 启动vim ................................................................ 161

5.11.2 命令和输入模式 ................................................... 162

5.11.3 输入文字 ............................................................... 163

5.11.4 获得帮助 ............................................................... 164

5.11.5 结束编辑会话 ....................................................... 167

5.11.6 兼容参数 ............................................................... 167

5.12 本章小结 ............................................................................. 167

5.13 练习 ..................................................................................... 169

5.14 高级练习 ............................................................................. 170

6章 Linux文件系统 .................................................................. 172

6.1 分层文件系统 ...................................................................... 173

6.2 目录文件和普通文件 .......................................................... 174

6.2.1 文件名 .................................................................... 175

6.2.2 工作目录 ................................................................ 177

6.2.3 你的主目录 ............................................................ 177

6.3 路径名 ................................................................................. 178

6.3.1 绝对路径 ................................................................ 178

6.3.2 相对路径 ................................................................ 179

6.4 目录操作 ............................................................................. 180

6.4.1mkdir:创建一个目录 .................................................................................................... 181

6.4.2cd:改变工作目录 ................................................. 182

6.4.3rmdir:删除一个目录 ..................................................................................................... 183

6.4.4 使用路径名 ............................................................ 184

6.4.5mv, cp:移动或复制文件 ............................................................................................... 185

6.4.6mv:移动目录 ....................................................... 186

6.4.7 重要的标准目录和文件 ..................................................................................... 186

6.5 访问权限 ............................................................................. 188

6.5.1ls -l:显示权限 ...................................................... 189

6.5.2chmod:更改访问权限 .................................................................................. 190

6.5.3setuidsetgid权限 ................................................. 192

6.5.4 目录访问权限 ........................................................ 193

6.6ACL:访问控制列表 .......................................................... 195

6.6.1 启用ACL ................................................................. 195

6.6.2 使用访问规则 ........................................................ 196

6.6.3 为目录设置默认规则 ......................................................................... 199

6.7 链接 ..................................................................................... 200

6.7.1 硬链接 .................................................................... 201

6.7.2 符号链接 ................................................................ 204

6.7.3rm:删除链接 ........................................................ 206

6.8 本章小结 ............................................................................. 206

6.9 练习 ..................................................................................... 208

6.10 高级练习 ............................................................................. 210

7章 Shell .....................................................................................211

7.1 命令行 ................................................................................. 212

7.1.1 语法 ....................................................................... 212

7.1.2 处理命令行 ............................................................ 215

7.1.3 执行命令 ................................................................ 217

7.1.4 编辑命令行 ............................................................ 218

7.2 标准输入和标准输出 .......................................................... 218

7.2.1 作为文件的屏幕 .................................................... 218

7.2.2 作为标准输入和标准输出的键盘和屏幕 .................................................. 218

7.2.3 重定向 .................................................................... 220

7.2.4 管道 ....................................................................... 224

7.3 在后台运行命令 .................................................................. 227

7.3.1 将作业从前台移到后台 ............................................................................... 228

7.3.2kill:中止后台作业 ............................................... 229

7.4 文件名生成/路径名扩展 ..................................................... 229

7.4.1?特殊字符 ............................................................... 230

7.4.2*特殊字符 .............................................................. 231

7.4.3[]特殊字符 .............................................................. 232

7.5 内置命令 ............................................................................. 234

7.6 本章小结 ............................................................................. 235

7.7 练习 ..................................................................................... 236

7.8 高级练习 ............................................................................. 237

3部分 Fedora/RHEL深入挖掘

8章 Linux图形用户界面:XGNOME .................................................................. 240

8.1X Window系统 ..................................................................... 241

8.1.1 使用X Window系统 ............................................... 243

8.1.2 桌面环境/管理器 ................................................... 248

8.2Nautilus文件浏览器窗口 ..................................................... 249

8.2.1 视图面板 ................................................................ 250

8.2.2 侧边栏 .................................................................... 250

8.2.3 控制栏 .................................................................... 252

8.2.4 菜单栏 .................................................................... 252

8.3Nautilus空间视图(RHEL) ............................................................................. 255

8.4GNOME工具....................................................................... 256

8.4.1 选择字体窗口 ........................................................ 256

8.4.2 选择颜色窗口 ........................................................ 257

8.4.3Run Application窗口 ............................................................................... 257

8.4.4 搜索文件 ................................................................ 257

8.4.5GNOME终端仿真器/Shell ............................................................................................. 259

8.5 本章小结 ............................................................................. 259

8.6 练习 ..................................................................................... 260

8.7 高级练习 ............................................................................. 261

9章 Bourne Again Shell ........................................................ 262

9.1 背景 ..................................................................................... 263

9.2Shell基础 ............................................................................. 264

9.2.1 启动文件 ................................................................ 264

9.2.2 符号命令 ................................................................ 268

9.2.3 重定向标准错误 .................................................... 268

9.2.4 编写一个简单的shell脚本 ........................................................................... 271

9.2.5 分隔和分组命令 .................................................... 275

9.2.6 作业控制 ................................................................ 278

9.2.7 操作目录栈 ............................................................ 281

9.3 参数和变量 ......................................................................... 283

9.3.1 用户创建变量 ........................................................ 284

9.3.2 变量属性 ................................................................ 287

9.3.3 关键字变量 ............................................................ 289

9.4 特殊字符 ............................................................................. 297

9.5 进程 ..................................................................................... 298

9.5.1 进程结构 ................................................................ 298

9.5.2 进程标识 ................................................................ 298

9.5.3 执行命令 ................................................................ 300

9.6 历史 ..................................................................................... 300

9.6.1 控制历史的变量 .................................................... 301

9.6.2 重新执行和编辑命令 .................................................................................... 302

9.6.3Readline库 .............................................................. 310

9.7 别名 ..................................................................................... 316

9.7.1 别名中的单引号和双引号 .................................................................... 317

9.7.2 别名的示例 ............................................................ 318

9.8 函数 ..................................................................................... 320

9.9 控制bash:特性和选项 ....................................................... 323

9.9.1 命令行选项 ............................................................ 323

9.9.2shell特性 ................................................................. 323

9.10 处理命令行 ......................................................................... 326

9.10.1 历史扩展 ................................................................ 327

9.10.2 别名替代 ................................................................ 327

9.10.3 解析和扫描命令行 ................................................ 327

9.10.4 命令行扩展 ............................................................ 328

9.11 本章小结 ............................................................................. 336

9.12 练习 ..................................................................................... 337

9.13 高级练习 ............................................................................. 339

10章 网络与因特网 ................................................................. 341

10.1 网络介绍 ........................................................................... 342

10.2 网络类型及其工作原理 .................................................... 343

10.2.1 广播网络 .............................................................. 344

10.2.2 点对点网络 .......................................................... 344

10.2.3 交换网络 .............................................................. 345

10.2.4LAN:局域网 ...................................................... 345

10.2.5WAN:广域网 ..................................................... 348

10.2.6 网关和路由器的互联网络 ................................................................... 348

10.2.7 网络协议 .............................................................. 351

10.2.8IPv4 ...................................................................... 353

10.2.9IPv6(互联网协议第6版) .......................................................................................... 353

10.2.10 主机地址 .............................................................. 357

10.2.11 CIDR:无类别域间路由 .............................................................................................. 360

10.2.12 主机名 .................................................................. 360

10.3 通过网络通信 .................................................................... 361

10.3.1finger:显示远程用户信息 .......................................................................................... 362

10.3.2 邮件列表服务器 .................................................. 362

10.4 网络工具 ........................................................................... 362

10.4.1 可信主机 .............................................................. 363

10.4.2OpenSSH工具 ...................................................... 363

10.4.3telnet:登录远程系统 ......................................................................... 363

10.4.4ftp:通过网络传输文件 ............................................................................................... 366

10.4.5ping:测试网络连接 .................................................................................................... 366

10.4.6traceroute:跟踪互联网路由 ....................................................................................... 367

10.4.7hostdig:查询互联网名称服务器 ........................................................ 368

10.4.8whois:查找Internet站点信息 ................................................................ 369

10.5 分布式计算 ....................................................................... 370

10.5.1 客户端/服务器模型 ................................................................................ 371

10.5.2DNS:域名服务 .................................................. 371

10.5.3 端口 ...................................................................... 373

10.5.4NIS:网络信息服务 ..................................................................................................... 374

10.5.5NFS:网络文件系统 .................................................................................................... 374

10.6WWW:万维网 ................................................................. 379

10.6.1 浏览器 .................................................................. 380

10.6.2 搜索引擎 .............................................................. 381

10.6.3URL:统一资源定位器 ............................................................................................... 381

10.7 本章小结 ........................................................................... 381

10.8 练习 ................................................................................... 382

10.9 高级练习 ........................................................................... 383

4部分 系统管理

11章 系统管理:核心概念 ................................................... 386

11.1 以root权限运行命令 .......................................................... 388

11.1.1 特权用户的特殊权力 ............................................................................. 388

11.1.2 获取root权限 ........................................................ 389

11.1.3 使用su获取root权限 ........................................................................... 391

11.1.4 使用sudo获取root权限 .............................................................................. 393

11.1.5sudoers:配置sudo ............................................... 398

11.1.6 锁定root账户(删除root密码) ........................................................... 404

11.1.7consolehelper:允许普通用户运行特权命令 ................................................... 404

11.2init守护进程 ...................................................................... 405

11.2.1systemd init守护进程(Fedora) ................................................................................. 405

11.2.2Upstart init 守护进程(RHEL) .................................................................................. 416

11.2.3SysVinitRC)脚本:启动和停止系统服务(Fedora/RHEL) .............................. 423

11.3 系统操作 ........................................................................... 428

11.3.1 运行级别 ............................................................... 429

11.3.2 引导系统 ............................................................... 430

11.3.3 单用户模式 ........................................................... 430

11.3.4 进入图形化多用户模式 ........................................................................ 431

11.3.5 登录 ...................................................................... 432

11.3.6 注销 ...................................................................... 433

11.3.7 关闭系统 ............................................................... 433

11.3.8 崩溃 ...................................................................... 435

11.4 救援已安装的系统 ............................................................ 437

11.5 确保系统安全 .................................................................... 437

11.5.1 避免特洛伊木马 ................................................... 438

11.5.2SELinux ................................................................ 439

11.5.3PAM ...................................................................... 443

11.6 系统管理工具 .................................................................... 448

11.6.1 文本型管理工具 ................................................... 448

11.6.2 图形化配置工具 ................................................... 455

11.7 设置服务器 ....................................................................... 456

11.7.1 配置文件中的标准规则 ...................................................................... 457

11.7.2rpcinfo:显示关于rpcbind的信息 .......................................................... 459

11.7.3xinetd超级服务器 ................................................. 460

11.7.4 保护服务器 ........................................................... 463

11.8DHCP: 配置网络接口 ........................................................ 469

11.8.1 更多信息 ............................................................... 469

11.8.2DHCP的工作原理 ................................................ 469

11.8.3DHCP客户端 ........................................................ 470

11.8.4DHCP服务器 ........................................................ 471

11.9nsswitch.conf:首先查看哪个服务 .............................................................. 473

11.9.1 信息 ...................................................................... 473

11.9.2 方法 ...................................................................... 474

11.9.3 搜索顺序 ............................................................... 474

11.9.4 操作项 ................................................................... 474

11.9.5compat方法:passwdgroupshadow文件中的±................................................... 475

11.10 获得帮助 ........................................................................... 476

11.11 本章小结............................................................................ 476

11.12 练习 ................................................................................... 477

11.13 高级练习 ........................................................................... 478

12章 文件、目录和文件系统 ............................................... 479

12.1 重要的文件和目录 ............................................................ 480

12.2 文件类型 ........................................................................... 493

12.2.1 普通文件、目录、链接和Inode .................................................................................. 493

12.2.2 设备特殊文件 ...................................................... 494

12.3 文件系统 ........................................................................... 497

12.3.1mount:挂载文件系统 ................................................................................................. 498

12.3.2umount:卸载文件系统 ............................................................................................... 501

12.3.3fstab:跟踪文件系统 .................................................................................................... 502

12.3.4fsck:检查文件系统的完整性 ..................................................................................... 503

12.3.5tune2fs:更改文件系统参数 ................................................................... 504

12.4 本章小结 ........................................................................... 506

12.5 练习 ................................................................................... 506

12.7 高级练习 ........................................................................... 506

13章 查找、下载和安装软件 ............................................... 507

13.1 简介 .................................................................................. 508

13.2JumpStart:使用yum安装和卸载软件包 ........................................................ 509

13.3 寻找包含所需应用程序或文件的软件包 ......................................................... 513

13.4yum:保持系统最新 ......................................................... 515

13.4.1 更新包 .................................................................. 515

13.4.2yum 命令 .............................................................. 516

13.4.3yum Groups ........................................................... 517

13.4.4 使用yumdownloader下载RPM包文件 .......................................................... 518

13.4.5yum.conf:配置yum ............................................................................................. 519

13.4.6yum 资源库 .......................................................... 520

13.5BitTorrent ........................................................................... 521

13.6RPMRPM软件包管理器 ............................................... 524

13.6.1 查询软件包和文件 .............................................................................. 525

13.6.2 安装、升级和卸载软件包 ........................................................................................... 527

13.6.3 安装Linux内核二进制文件 .................................................................. 528

13.7 安装非rpm软件 .................................................................. 528

13.7.1/opt/usr/local目录 ..................................................................... 528

13.7.2GNU配置和构建系统 .................................................................. 529

13.8 保持软件最新 .................................................................... 530

13.8.1Bugs(缺陷) ...................................................... 531

13.8.2Errata(勘误表) ................................................. 531

13.8.3Red Hat网络(RHEL) ................................................................................ 531

13.9wget:非交互式下载文件 ................................................ 532

13.10 本章小结 ........................................................................... 533

13.11 练习 ................................................................................... 533

13.12 高级练习 ........................................................................... 534

14章 使用CUPS进行打印..................................................... 535

14.1 概述 ................................................................................... 536

14.1.1 先决条件 .............................................................. 537

14.1.2 更多信息 .............................................................. 537

14.1.3 注记 ...................................................................... 538

14.2Fedora/RHEL自动配置本地打印机................................................................. 538

14.3JumpStart I:使用system-config-printer配置打印机 ..................................... 538

14.3.1 配置选项 .............................................................. 539

14.4JumpStart II:设置本地或远程打印机 ................................................ 540

14.5 使用CUPS Web界面 .......................................................... 544

14.6 配置打印机 ....................................................................... 546

14.6.1 修改打印机 .......................................................... 546

14.6.2CUPS Web界面 .................................................... 546

14.6.3 在命令行中使用CUPS ......................................................................... 547

14.6.4 共享CUPS打印机 ................................................ 551

14.7 传统的UNIX打印 .............................................................. 553

14.8 从Windows打印 ................................................................. 554

14.8.1 使用CUPS打印 .................................................... 554

14.8.2 使用Samba打印 .................................................... 555

14.9 打印到Windows ................................................................. 556

14.10 本章小结 ........................................................................... 556

14.11 练习 ................................................................................... 557

14.12 高级练习 ........................................................................... 557

15章 构建Linux内核 ................................................................ 558

15.1 下载、安装和预备内核源代码 ............................................................... 559

15.1.1 先决条件 .............................................................. 560

15.1.2 更多信息 .............................................................. 560

15.1.3 下载源代码 .......................................................... 560

15.1.4 安装源代码 .......................................................... 561

15.1.5 预备源代码 .......................................................... 562

15.2 配置和编译Linux内核 ....................................................... 563

15.2.1 标记内核 .............................................................. 563

15.2.2.config:配置内核 ............................................... 564

15.2.3 定制内核 .............................................................. 565

15.2.4 清理源代码树 ...................................................... 567

15.2.5 复制配置文件 ...................................................... 568

15.2.6 编译内核映像文件和可加载模块 ............................................. 568

15.2.7 使用可加载内核模块 ........................................................................ 568

15.3 安装内核、模块和相关文件 ........................................................... 569

15.4GRUBLinux引导加载程序........................................................................... 570

15.4.1 配置GRUB ........................................................... 571

15.4.2grub-install:安装MBRGRUB文件 ......................................................................... 572

15.5dmesg:显示内核消息 ...................................................... 572

15.6 本章小结 ........................................................................... 573

15.7 练习 ................................................................................... 573

15.8 高级练习 ........................................................................... 574

16章 管理任务 .......................................................................... 575

16.1 配置用户和组账户 ............................................................ 576

16.1.1system-config-users:管理用户账户 ........................................................................... 576

16.1.2 从命令行管理用户账户 ........................................................................ 578

16.2 备份文件 ........................................................................... 579

16.2.1 选择备份介质 ...................................................... 580

16.2.2 备份工具 .............................................................. 580

16.2.3 执行一次简单的备份 .......................................................................... 583

16.3 计划任务 ........................................................................... 584

16.3.1crondanacron:安排日常任务 ........................................................ 585

16.3.2at:偶尔运行的任务 .................................................................... 589

16.4 系统报告 ........................................................................... 589

16.4.1vmstat:报告虚拟内存统计信息 ................................................................................. 589

16.4.2top:列出使用资源最多的进程 .................................................................................. 591

16.5 维护系统 ........................................................................... 592

16.5.1parted:报告并分区硬盘 ............................................................................................. 592

16.5.2logrotate:管理日志文件 ............................................................................................. 595

16.5.3rsyslogd:记录系统消息 .............................................................................................. 597

16.5.4 保证用户知情 ...................................................... 600

16.5.5 产生问题 .............................................................. 601

16.5.6 解决问题 .............................................................. 602

16.6MySQL .............................................................................. 609

16.6.1 更多信息 .............................................................. 609

16.6.2 术语 ...................................................................... 609

16.6.3 语法和约定 .......................................................... 610

16.6.4 先决条件 .............................................................. 610

16.6.5 注记 ...................................................................... 610

16.6.6JumpStart:设置MySQL ...............................................................................................611

16.6.7 选项 ......................................................................611

16.6.8.my.cnf配置文件................................................... 612

16.6.9 使用MySQL ......................................................... 612

16.7 本章小结 ........................................................................... 617

16.8 练习 ................................................................................... 618

16.9 高级练习 ........................................................................... 618

17章 配置和监控局域网 ........................................................ 619

17.1 设置硬件 ........................................................................... 620

17.1.1 连接计算机 .......................................................... 620

17.1.2 路由器 .................................................................. 621

17.1.3NIC:网络接口卡 ................................................ 621

17.1.4 工具 ...................................................................... 622

17.2 配置系统 ........................................................................... 624

17.3NetworkManager:配置网络连接 .................................................... 625

17.3.1 NetworkManager小程序的右键菜单 ........................................................ 625

17.4 设置服务器 ....................................................................... 629

17.5Cacti简介 ........................................................................... 631

17.5.1 配置SNMP ............................................................ 632

17.5.2 设置LAMP ........................................................... 632

17.5.3 启用Cacti轮询 ...................................................... 635

17.5.4 配置Cacti .............................................................. 635

17.5.5 基本Cacti管理 ...................................................... 636

17.5.6 设置远程数据源 .................................................. 638

17.6 更多信息 ........................................................................... 642

17.7 本章小结 ........................................................................... 642

17.8 练习 ................................................................................... 643

17.9 高级练习 ........................................................................... 643

下册

5部分 使用客户端和设置服务器

18章 OpenSSH:安全网络通信 ...............................................................2

18.1 OpenSSH简介 ...............................................................3

18.1.1 OpenSSH工作原理 ..........................................4

18.1.2 文件 .................................................................4

18.1.3 更多信息 ..........................................................6

18.2 运行sshscpsftpOpenSSH客户端) .............................................6

18.2.1 先决条件 ..........................................................6

18.2.2 JumpStart:使用sshscp连接OpenSSH服务器 ...............................................................6

18.2.3 配置OpenSSH客户端 ......................................7

18.2.4 ssh:登录远程系统或在远程系统上执行命令 ..............................................................10

18.2.5 scp:在本地与远程系统之间复制文件 ..........................................................................13

18.2.6 sftp:一个安全的FTP客户端 ...........................................................................................15

18.2.7 ~/.ssh/config /etc/ssh/ssh_config配置文件 ...........................................15

18.3 设置OpenSSH服务器(sshd) ...................................................................17

18.3.1 先决条件 ........................................................17

18.3.2 注记 ...............................................................17

18.3.3 JumpStart: 启动OpenSSH服务器 .......................................................18

18.3.4 授权密钥自动登录 ......................................18

18.3.5 ssh-agent: 存放你的私钥 ......................................................21

18.3.6 命令行选项 ....................................................22

18.3.7 /etc/ssh/sshd_config配置文件 ........................................................22

18.4 排除故障 .....................................................................24

18.5 隧道/端口转发 ............................................................26

18.5.1 转发X11 .........................................................26

18.5.2 端口转发 ........................................................27

18.6 本章小结 .....................................................................28

18.7 练习 .............................................................................29

18.8 高级练习 .....................................................................29

19章 FTP:通过网络传输文件 .....................................30

19.1 FTP简介 ......................................................................31

19.1.1 安全 ...............................................................31

19.1.2 FTP连接 ..........................................................32

19.1.3 FTP客户端 ......................................................32

19.1.4 更多信息 ........................................................33

19.1.5 注记 ...............................................................33

19.2 运行ftpsftpFTP客户端 .........................................33

19.2.1 先决条件 ........................................................33

19.2.2 JumpStart I:使用FTP下载文件 ......................................................................................33

19.2.3 匿名FTP ..........................................................37

19.2.4 自动登录 ........................................................37

19.2.5 二进制与ASCII传输模式 .................................................................................................38

19.2.6FTP规范 ..........................................................38

19.3 建立FTP服务器(vsftpd) .........................................42

19.3.1 先决条件 ........................................................42

19.3.2 注记 ...............................................................42

19.3.3 JumpStart II:启动vsftpd FTP服务器 ..............................................................................43

19.3.4 故障排除 ........................................................43

19.3.5 配置vsftpd服务器 ..........................................44

19.4 本章小结 .....................................................................56

19.5 练习 .............................................................................57

19.6 高级练习 .....................................................................57

20章 sendmail:设置邮件服务器、客户端及更多 .............................................58

20.1 sendmail简介 ...............................................................59

20.1.1 出站电子邮件 ................................................60

20.1.2 入站电子邮件 ................................................60

20.1.3 sendmail的替代品 ..........................................60

20.1.4 更多信息 ........................................................61

20.2 设置sendmail邮件服务器 ............................................62

20.2.1 先决条件 ........................................................62

20.2.2 注记 ...............................................................62

20.3 JumpStart I:在客户端配置sendmail .............................................................63

20.4 JumpStart II:在服务器上配置sendmail ...................................................64

20.5 使用sendmail消息 ........................................................64

20.5.1 邮件日志 ........................................................65

20.5.2 别名和转发 ....................................................66

20.5.3 相关程序 ........................................................68

20.6 配置sendmail ...............................................................68

20.6.1 sendmail.mc 和 sendmail.cf 文件 ................................................69

20.6.2 /etc/mail目录中的其他文件 .............................................................................................71

20.7 SpamAssassin ..............................................................73

20.7.1 SpamAssassin的工作原理 ................................................................................74

20.7.2 先决条件 ........................................................74

20.7.3 测试SpamAssassin .........................................75

20.7.4 配置SpamAssassin .........................................76

20.8 其他电子邮件工具 ......................................................80

20.8.1 Webmail ..........................................................80

20.8.2 邮件列表 ........................................................82

20.8.3 设置IMAPPOP3邮件服务器 ......................................................85

20.9 基于身份认证的转发 ..................................................85

20.10 本章小结 .....................................................................87

20.11 练习 .............................................................................88

20.12 高级练习 .....................................................................88

21章 NISLDAP ..............................................................90

21.1 NIS简介 .......................................................................91

21.1.1NIS工作原理 ..................................................91

21.1.2 更多信息 ........................................................94

21.2 运行NIS客户端 ............................................................94

21.2.1 先决条件 ........................................................94

21.2.2 注记 ...............................................................95

21.2.3 配置NIS客户端 ..............................................95

21.2.4 客户端故障排除 ............................................97

21.2.5 yppasswd: 更改NIS密码 ...........................................................98

21.3 设置NIS服务器 ..........................................................100

21.3.1 先决条件 ......................................................100

21.3.2 注记 .............................................................101

21.3.3 配置服务器 ..................................................102

21.3.4 服务器故障排除 ..........................................107

21.3.5 NIS密码更新守护进程:yppasswdd ....................................................108

21.4 LDAP .........................................................................109

21.4.1 更多信息 ...................................................... 111

21.5 设置LDAP服务器 ......................................................112

21.5.1 先决条件 ......................................................112

21.5.2 注记 .............................................................112

21.5.3 一步一步设置 ..............................................112

21.6 使用LDAP的工具 ......................................................118

21.6.1 Evolution邮件 ...............................................118

21.7 本章小结 ...................................................................122

21.8 练习 ...........................................................................122

21.9 高级练习 ...................................................................122

22章 NFS:共享目录层次结构 ................................................124

22.1 NFS简介 ....................................................................126

22.1.1 更多信息 ......................................................128

22.2 运行NFS客户端 .........................................................129

22.2.1 先决条件 ......................................................129

22.2.2 JumpStart I: 挂载远程目录层次结构 .........................................129

22.2.3 mount: 挂载目录层次结构 .............................................130

22.2.4 提高性能 ......................................................133

22.2.5 /etc/fstab: 自动挂载目录层次结构 ........................................134

22.3 设置NFS服务器 .........................................................135

22.3.1 先决条件 ......................................................135

22.3.2 注记 .............................................................136

22.3.3 JumpStart II: 使用system-config-nfs配置NFS服务器(Fedora) ................................136

22.3.4 手动导出目录层次结构 .......................................................................................138

22.3.5 系统在哪里保存NFS挂载信息 .....................................................142

22.3.6 exportfs: 维护导出的目录列表 ............................................143

22.3.7 故障排除 ......................................................144

22.4 automount: 按需挂载目录层次结构 ....................................................145

22.5 本章小结 ...................................................................149

22.6 练习 ...........................................................................149

22.7 高级练习 ...................................................................149

23章 Samba: LinuxWindows文件和打印机共享 ..................................... 151

23.1 Samba简介 ................................................................152

23.1.1 更多信息 ......................................................153

23.1.2 注记 .............................................................153

23.1.3 Samba用户、用户映射和密码 ...........................................................................154

23.1.4 smbpasswdpdbedit: 使用Samba用户和密码 .....................................156

23.2 运行Samba客户端 .....................................................157

23.2.1 先决条件 ......................................................157

23.2.2 Linux使用共享 .........................................157

23.2.3 Windows使用共享 ....................................................160

23.3 设置Samba服务器 .....................................................161

23.3.1 先决条件 ......................................................161

23.3.2 JumpStart: 使用system-config-samba配置Samba服务器(Fedora) ...........................162

23.3.3 swat: 配置Samba服务器 ...................................................................165

23.3.4 smb.conf: 手动配置Samba服务器 .........................................169

23.4 故障排除 ...................................................................177

23.5 本章小结 ...................................................................180

23.6 练习 ...........................................................................180

23.7 高级练习 ...................................................................181

24章 DNS/BIND:跟踪域名和IP地址 ..................................................182

24.1 DNS简介 ...................................................................183

24.1.1 节点、域和子域 ..........................................184

24.1.2 区域 .............................................................185

24.1.3 查询 .............................................................186

24.1.4 服务器 ..........................................................187

24.1.5 资源记录 ......................................................188

24.1.6 DNS查询和响应 ..........................................191

24.1.7 反向名称解析 ..............................................192

24.1.8 DNS工作原理 ..............................................194

24.1.9 更多信息 ......................................................194

24.2 设置DNS服务器 ........................................................195

24.2.1 先决条件 ......................................................195

24.2.2 注记 .............................................................196

24.2.3 JumpStart I: 设置DNS缓存 ......................................................197

24.2.4 JumpStart II: 使用system-config-bind设置域(Fedora) .............................................198

24.3 配置DNS服务器 ........................................................203

24.3.1 named.conf: named配置文件 .......................................................203

24.3.2 区域文件 ......................................................205

24.3.3 设置DNS缓存 ..............................................206

24.3.4 DNS粘附记录 ..............................................212

24.3.5 TSIG: 事务签名............................................213

24.3.6 chroot Jail中运行BIND ...............................................................................................214

24.3.7 故障排除 ......................................................216

24.4 设置不同类型的DNS服务器 ...........................................................217

24.4.1 一个全功能的名称服务器 .............................................................................................218

24.4.2 从服务器 ......................................................222

24.4.3 水平分割的服务器 ......................................222

24.5 本章小结 ...................................................................228

24.6 练习 ...........................................................................228

24.7 高级练习 ...................................................................229

25章 system-config-firewalliptables:设置防火墙 ...........................................................230

25.1 JumpStart:使用system-config-firewall构建防火墙 .............................................231

25.2 iptables简介 ...............................................................234

25.2.1 更多信息 .....................................................236

25.2.2 先决条件 ......................................................237

25.2.3 注记 .............................................................238

25.2.4 剖析iptables命令 ..........................................239

25.3 使用iptables构建规则集 ............................................241

25.3.1 命令 .............................................................241

25.3.2 包匹配条件 ..................................................243

25.3.3 显示条件 ......................................................243

25.3.4 匹配扩展 ......................................................244

25.3.5 目标 .............................................................246

25.4 复制规则到内核和从内核复制规则 .......................................................247

25.5 system-config-firewall: 生成规则集 ...............................................................248

25.6 使用NAT共享Internet连接 ........................................250

25.6.1 多个客户端连接到一个Internet连接 ..............................................251

25.6.2 多台服务器连接到一个Internet连接 ....................................................253

25.7 本章小结 ...................................................................254

25.8 练习 ...........................................................................254

25.9 高级练习 ..................................................................255

26章 Apachehttpd):设置Web服务器 .......................................256

26.1 简介 ...........................................................................257

26.1.1 更多信息 ......................................................258

26.1.2 注记 .............................................................259

26.2 运行Apache Web服务器 ............................................260

26.2.1 先决条件 ......................................................260

26.2.2 JumpStart I: 启动并运行Apache .....................................................................................261

26.3 文件系统布局 ............................................................263

26.4 配置指令 ...................................................................264

26.4.1 指令I: 入门时可能要修改的指令 ..............................................265

26.4.2 上下文和容器 ..............................................270

26.4.3 指令II: 高级指令 ..........................................274

26.5 Fedora/RHEL中的httpd.conf配置文件 ...............................................289

26.5.1 1部分:全局环境配置 ...............................................................................................289

26.5.2 2部分:主服务器配置 ...............................................................................................291

26.5.3 3部分:虚拟主机配置 ...............................................................................................292

26.6 高级配置 ...................................................................293

26.6.1 重定向 ..........................................................293

26.6.2 内容协商 ......................................................293

26.6.3 服务器生成的目录列表(索引) .................................................................................295

26.6.4 虚拟主机 ......................................................295

26.7 故障排除 ...................................................................298

26.8 模块 ...........................................................................299

26.8.1 mod_cgiCGI脚本 ......................................301

26.8.2 mod_ssl .........................................................302

26.8.3 身份认证模块和.htaccess文件 .................................................304

26.8.4 脚本模块 ......................................................305

26.8.5 多处理模块(MPM.....................................................................................................306

26.9 webalizer: Web流量分析.........................................307

26.10 MRTG:流量负载监控 .............................................307

26.11 错误代码 ...................................................................307

26.12 本章小结 ...................................................................308

26.13 练习 ...........................................................................309

26.14 高级练习 ...................................................................309

6部分 编程工具

27章 Bourne Again Shell编程 ...........................................................312

27.1 控制结构 ...................................................................313

27.1.1 if...then ..........................................................314

27.1.2 if...then...else .................................................317

27.1.3 if...then...elif ..................................................319

27.1.4 for...in ............................................................326

27.1.5 for .................................................................328

27.1.6 while .............................................................330

27.1.7 until ..............................................................333

27.1.8 breakcontinue ............................................336

27.1.9 case ...............................................................336

27.1.10 select ...........................................................343

27.1.11 Here文件 .....................................................345

27.2 文件描述符 ...............................................................347

27.3 参数和变量 ...............................................................351

27.3.1 数组变量 ......................................................352

27.3.2 变量的局部有效性 ......................................353

27.3.3 特殊参数 ......................................................356

27.3.4 位置参数 ......................................................358

27.3.5 扩展NullUnset变量 .............................................................362

27.4 内置命令 ...................................................................364

27.4.1 type:显示命令信息 .......................................................................................................364

27.4.2 read:接受用户输入 .......................................................................................................365

27.4.3 exec:执行命令或重定向文件描述符 ..........................................................................369

27.4.4 trap:捕获信号 ............................................371

27.4.5 kill:终止一个进程 .....................................375

27.4.6 getopts:解析选项 .......................................375

27.4.7 部分内置命令列表 ......................................378

27.5 表达式 .......................................................................379

27.5.1 数学运算 ......................................................379

27.5.2 逻辑运算(条件表达式) .............................................................................................381

27.5.3 字符串模式匹配 ..........................................382

27.5.4 运算符 ..........................................................383

27.6 shell程序 ....................................................................388

27.6.1 递归的shell脚本 ...........................................389

27.6.2 shell脚本quiz ................................................392

27.7 本章小结 ...................................................................399

27.8 练习 ...........................................................................400

27.9 高级练习 ...................................................................402

28章 Perl脚本语言 ..........................................................405

28.1 Perl简介 .....................................................................406

28.1.1 更多信息 ......................................................407

28.1.2 帮助 .............................................................407

28.1.3 perldoc ..........................................................407

28.1.4 术语 .............................................................409

28.1.5 运行Perl程序 ................................................410

28.1.6 语法 .............................................................412

28.2 变量 ...........................................................................414

28.2.1 标量变量 ......................................................416

28.2.2 数组变量 ......................................................417

28.2.3 哈希变量 ......................................................420

28.3 控制结构 ...................................................................422

28.3.1 if/unless .........................................................422

28.3.2 if...else ...........................................................424

28.3.3 if...elsif...else .................................................425

28.3.4 foreach/for .....................................................426

28.3.5 lastnext ......................................................427

28.3.6 while/until .....................................................429

28.4 使用文件 ...................................................................431

28.5 排序 ...........................................................................435

28.6 子程序 .......................................................................436

28.7 正则表达式 ...............................................................439

28.7.1 语法和“=~”运算符 .....................................................................................................439

28.8 CPAN模块 .................................................................444

28.9 示例 ...........................................................................447

28.10 本章小结 ...................................................................451

28.11 练习 ...........................................................................451

28.12 高级练习 ...................................................................452

7部分 附录

附录正则表达式 ...............................................................454

A.1 字符 ............................................................................455

A.2 分隔符 ........................................................................455

A.3 简单的字符串 ............................................................455

A.4 特殊字符 ....................................................................455

A.4.1 句点 ...............................................................455

A.4.2 方括号 ............................................................456

A.4.3 星号 ...............................................................456

A.4.4 插入符和$符号 ..............................................456

A.4.5 引用特殊字符 ................................................457

A.5 规则 ............................................................................458

A.5.1 最可能的匹配 ................................................458

A.5.2 空的正则表达式 ............................................458

A.6 括号表达式 ................................................................459

A.7 字符串替换 ................................................................459

A.7.1 &符号 ............................................................459

A.7.2 引用数字 ........................................................460

A.8 扩展的正则表达式 .....................................................460

A.9 附录小结 ....................................................................461

附录帮助 .............................................................................463

B.1 解决问题.....................................................................464

B.2 查找与Linux相关的信息 ............................................465

B.2.1 文档 ...............................................................465

B.2.2 有用的Linux站点 ..........................................466

B.2.3 Linux新闻组 ..................................................466

B.2.4 邮件列表 ........................................................467

B.2.5 词汇 ...............................................................467

B.2.6 软件 ...............................................................467

B.2.7 Office套件和文字处理器 ..........................................................................469

B.3 指定一个终端.............................................................469

附录安全 .............................................................................471

C.1 加密.............................................................................472

C.1.1 公钥(不对称)加密 .......................................................................................................473

C.1.2 对称密钥加密 ................................................474

C.1.3 加密实现 ........................................................475

C.1.4 GnuPG/PGP ...................................................475

C.2 文件安全.....................................................................476

C.3 电子邮件安全.............................................................477

C.3.1 MTA(邮件传输代理) ..................................................................................................477

C.3.2 MUA(邮件用户代理) .................................................................................................477

C.4 网络安全.....................................................................477

C.4.1 网络安全解决方案 ........................................478

C.4.2 网络安全指南 ................................................478

C.5 主机安全.....................................................................480

C.5.1 登录安全 ........................................................481

C.5.2 远程访问安全 ................................................482

C.5.3 病毒和蠕虫 ....................................................482

C.5.4 物理安全 ........................................................483

C.6 安全资源.....................................................................484

C.7 附录小结.....................................................................486

附录自由软件的定义 ......................................................487

词汇表 .........................................................................................491

JumpStart索引 .........................................................................542

文件树索引 ................................................................................543

工具索引 .....................................................................................547

主索引 .........................................................................................552

精彩节摘

译 者 序

当博文视点公司的张春雨先生拿着这本书的英文版本找到我的时候,我略微翻了几页就毫不犹豫地答应了下来,并推掉了其他著书的任务,承担并主持这本书的翻译任务,因为我被这本书深深地吸引了。

Linux系统/网络管理及信息安全领域,我摸爬滚打了十几年,参看了不少Linux书籍,也撰写了几本拙著。我有一个很大的愿望,就是要写这样一本书——即适合Linux入门读者,有一定工作经验也可从中获得更多Linux知识。我一直朝着这个目标努力,也在寻觅翻译这样一本“圣经”。今天,我终于找到了。在这本书中,作者采用通俗易懂的语言和大量的实例,对目前企业应用最为广泛的FedoraRed Hat Enterprise Linux版本的应用进行了系统、科学、全面的介绍,包括Linux系统管理、互联网服务器搭建、内核编译及执行、命令行使用等重点内容,并且对应用Perl脚本进行自动化管理进行了详细介绍。本书适合广大的Linux从业人员(包括系统和网络管理人员)、Linux爱好者,同时,本书也不失为一本很好的大中专院校Linux系统学习的教材。

我觉得,我有义务为大家翻译并奉献这样一本书。Linux是属于世界的,更是属于中国的。尤其是在Linux盛行的今天,在企业应用逐渐成熟的今天,中国无疑成为Linux企业应用的主战场。越来越多的读者和企业用户都希望能够从书中获取大量的知识,并能够在学习和工作中应用自如。我可以很负责任地告诉大家,这本书就是你们需要的。

为了对大家负责,我在本书译者的选择上精挑细选,成员来自著名企业、高校和研究所,他们都是Linux方面的专家、学者和一线工程师,只有这样的团队,才能准确、科学、全面地翻译这样一本Linux巨著,才能更好地将其奉献给广大读者。本书的主持译者李洋博士,现任国内著名信息安全公司首席技术官(CTO)。十余年来一直从事信息安全和IT架构领域的技术研发和管理工作,曾主持和参与多项国家重点项目,并主导多个电信网络、互联网网络、金融企业网络的IT架构设计、信息安全系统的设计和研发工作。具有丰富的企业信息安全规划、架构设计/建设和管理,企业信息安全解决方案提供及实施,IT架构设计,Linux网络和系统应用、管理、安全及内核的研发经验,曾在IEEEACM51CTO、《计算机世界》、《网管员世界》等国内外知名媒体和期刊上发表SCI/EI学术论文和各类技术文章千余篇,相关著作6部,国家专利4项。此外,参与翻译的作者还有:柴泽楠、靳文佳、张晓明、江扬旺、康宇、宋继阳、吴廷勇、张恒、孙定隆、陈义勇、石依山。

在翻译的过程中,得到了张春雨先生的大力支持,在此表示真挚的感谢。

虽然我们力求完美,但时间紧迫和囿于知识所限,难免出现错误之处,欢迎广大读者批评指正。

李洋

201212月于北京

作者简介

Mark G. SobellSobell联合公司的总经理,该公司是一家专注于UNIXLinux教学、支持和客户软件开发的咨询公司。他拥有超过三十年的UNIXLinux系统使用经验,同时还是很多畅销书的作者。这些书中包括同时出自Prentice HallA Practical Guide to Linux® Commands, Editors, and Shell Programming, Second EditionA Practical Guide to Ubuntu Linux

媒体评论

“自从我处于教育环境中,我发现Sobell的书对在企业中管理Linux的人来说是切中目标的,并且非常有帮助。他的写作风格非常清晰。他构建的章节练习中的情景,我觉得是一个用户或管理员在现实世界中将会遇到的。一个IT/IS学生将发现这本书是对其知识的宝贵补充。大量的信息分布非常平衡,Sobell试图用简单的旁白和蜿蜒的散文形式来表现其内容。对在网络环境中管理Linux系统的,或运行Linux服务器的任何人,都是“必须拥有的”。 对转到Linux平台的、有经验的电脑用户,我也强烈推荐本书。”

— Mary Norbury

IT总监

芭芭拉戴维斯中心

位于丹佛的科罗拉多大学

发表在slashdot

“几年前当我在Cal Poly, San Luis Obispo, CA的大学时,我有机会使用您的UNIX书,我不得不说您的书是最好的!它们是操作系统理论和应用方面的高质量书籍。”

— Benton Chan

IS工程师

“这本书超出了我从所读的许多评论中累积起来的期望,即使其目标是FC2。我发现书中有些东西非常罕见:它不像阅读标准技术文本,它读起来更像是一个故事。阅读它有种快感,使我难以放下。我还能说什么呢?! :-)

— David Hopkins

业务流程架构师

“感谢您的工作和您写的书。只有真正的几本书可以帮助人们对管理不同的工作站变得更有效率。我们希望您会继续把我们对Linux / UNIX系统的了解带到一个新的水平。”

— Anton Petukhov

Mark Sobell写了一本接近权威的书。”

— Jeffrey Bianchine

倡导者、作家、记者

“这是一本优秀的参考书,非常适合Linux集群的系统管理员,或最近考虑安装稳定的LinuxPC所有者。不要因畏惧书的分量而放弃。Sobell尝试预测您的系统管理需求,然后尽可能地将其包容。”

— Wes Boudville

发明者

A Practical Guide to Red Hat Linux是一本非常杰出的书,谢谢Mark Sobell。”

— C. Pozrikidis.

圣地亚哥加州大学

“这本书是我发现的介绍Linux操作系统的最好概述……无论读者什么背景,它应该都是非常有益的、易于理解的:传统UNIX用户,新的Linux爱好者,甚至Windows用户。每个主题都提出了一个清晰、完整时尚且对读者所了解知识的极少假设……这本书作为参考是非常有用的,因为它包含70页带有非常好索引的术语表。”

— Cam Marshall

Marshall 信息服务有限公司

UNIX高级会员)

FRUUG用户组

科罗拉多州博尔德

“总而言之,如果你是一个新的Linux用户,并且你刚刚进入RH/Fedora世界,这是一本好书。目前还没有以这样的深度讨论了这么多不同主题的其他书籍”

— Eugerzia Loli-Queru

主编

OSNews.com

“这本书对想了解内容的任何人来说,都是一个非常有用的工具,并且真正开始把Linux的功能带入工作中。我发现手册页,特别令人沮丧的是,它们从来没有包括例子,而Sobell却概括得很清楚:命令做什么,然后给出了几种常见的、容易理解的例子,开始感觉自己的shell编程是一件轻而易举的事。就如Sobell的其他作品,这是简单、直接、易于阅读的。这是一本伟大的书,将在很长一段时间内留在我的案头书架上。”

— Ray Bartlett

旅行作家

“总的来说,我发现这本书是相当出色的,它已经在我的书架非常靠前的位置赢得了一席之地。它涵盖了Linux真正的内涵:命令行和实用程序,并且做得很好。它的强项是突出的例子、命令参考部分。强烈推荐给所有技能水平的Linux用户。Mark SobellPrenticeHall为这本杰出的书付出了很多努力!”

— Dan Clough

电子工程师和

Slackware Linux 用户

“完全不像大多数Linux的书籍,这本书避免使用图形用户界面,而是跳到对你友好的命令行功能来讨论任何主题。”

— Bjorn Tipling

软件工程师

ask.com

“这本书是我见过的、我读过的几十本Linux相关书籍中最好的与发行版无关的、基本的Linux参考书。发现这本书是一个真正的幸运。如果你想真正了解在命令行中如何做好事情,以及自由的类UNIX操作系统的真正的强大功能和灵活性,你会发现这本书是实现这一目标的最佳工具。”

— Chad Perrin

Tech Republic作家

“我目前拥有一本您的书,A Practical Guide to Linux。我相信这本书正如标题所说的,是一个最全面的、我读过的Linux实用指南。我认为对于我这样的新手,我会一遍又一遍地来阅读这本书。”

— Albert J. Nguyen

“谢谢你写了这本书来帮我摆脱Windows XP和从未接触的Windows Vista。这本书是伟大的,使我学习了很多新的概念和命令。Linux无疑变得更容易使用。”

— James Moritz

“我印象非常深刻的是,Mark Sobell可以以这样易于理解的方式介绍一个复杂的话题。他的关于命令的例子,为新手(甚至是高手)管理员如何在Linux上实现现实世界的任务提供了‘食谱’,是非常有用的。他是一个真正有灵感的技术作家!”

— George Vish II

高级教育顾问

惠普公司

“总的来说,我认为这是一本伟大的、全面的Ubuntu的书,它对所有技术水平的人都将是一个宝贵的资源。”

— ]ohn Dong

Ubuntu 论坛理事会成员

Backports 小组负责人

JumpStart部分真正提供了一个快速的、使问题清晰,并在以后能够使你进入书中细节的方法。”

— Scott Mann

Aztek Networks

“我如此热爱并使用本书来教课,它不只是关于UbuntuLinux的,而且还关于一般的计算机。它使用能够解释计算机应用的重要概念的好插图,它非常完整、非常好。”

— Nathan Eckenrode

纽约当地社区小组

Ubuntu以像酒精被禁止却迅速普及的速度获得了普及,很高兴看到一个著名作家写的一本最新和最伟大的版本。它不仅包含Ubuntu的具体信息,而且也涉及一般计算机的相关主题,这将帮助普通计算机用户更好地了解在后台发生了什么事情。伟大的工作,Mark!”

— Daniel R. Arfsten

Pro/ENGINEER 起草人/设计师

“我每天都读很多有关Linux的技术信息,但我很少对科技书籍留下深刻印象。我平时喜欢在线信息资源。Mark Sobell的书是一个值得注意的例外。内容写得很清楚,技术上准确、全面,实际上我非常享受阅读。”

— Matthew Miller

高级系统分析师/系统管理员

BU Linux 项目

资讯科技波士顿大学办公室

“这本书写得很好、很清晰,关于Linux用户的任何类型的综合信息,不管你第一次尝试Ubuntu,想知道它的一点信息,还是当你做一些像设置服务器这样更复杂的工作时,本书都会成为很好的参考书。这本书的价值远远超出其购买价,会成为你书架上的Linux部分的一本伟大的书。“

— Linc Fessenden

LinuxLink TechShow主持人

tllts.org

“笔者在诠释这样一个注重细节的操作系统方面做了很好的工作。我有广泛的UNIXWindows经验,本书在缩小LinuxWindowsUNIX之间的差距上做了非常出色的工作。不管是新用户还是有经验的用户,我都极力推荐本书。杰出的工作!”

— Mark Polczynski

资讯科技顾问

“当我刚开始使用Linux工作时,虽然只有短短十年左右,但比现在要多了几分困难……现在,新手在网络上的资源繁多,或如果他们倾向于使用Ubuntu开始,他们仅从MarkSobellA Practical Guide to Ubuntu Linux这一本书上,从字面上就能找到他们需要的任何内容。”

“我敢肯定,这听起来有点夸张。一个人需要知道每件事情吗?显然不是每件事情,但是这本书,篇幅略低于1200页,却覆盖得如此之多、如此之彻底,以至于漏下的内容所剩无几。从安装到管理、网络、安全、shell脚本、包管理和许多其他主题,书中应有尽有。GUI和命令行工具也都包括在内。真的没有任何浪费的空间或错误,只包含巨大的信息。在适当的时候会有屏幕截图,但它们不占用过多的空间。这本书是信息密集型的。”

— JR Peck

编辑

GeekBook.org

“我一直想跳到Linux,但没有胆量这样做,直到我在书店看到A Practical Guide to Red Hat

Linux这本书。”

— Carmine Stoffo

制药行业的机床和工艺设计

“我目前正在读A Practical Guide to Red Hat Linux一书,我终于理解了命令行的真正功能。我是Linux新手,这本书是个宝贝。”

— Juan Gonzalez

“总体来说,Mark G. SobellA Practical Guide to Ubuntu Linux一书提供了一个初学者到一个高效率的中级用户所需要的所有信息。UbuntuGutsy Gibbon发行版的Live DVD,使用户测试和驱动Linux很容易,且不影响他安装的操作系统。我毫不怀疑,你会认为这本书的钱花得值。”

— Ray Lodato

Slashdot 撰稿人

www.slashdot.org

前言

本书

无论你是一个最终用户还是系统管理员或两者都是,本书通过例子,阐述了如何最有效地使用FedoraRHELRed Hat Enterprise Linux)系统。本书共28章,涵盖了从安装Fedora/RHEL系统,了解其内部运作,到设置系统安全服务器的全部内容。

适合的读者

本书适合各个行业的读者。不需要你有编程经验,当然有一些使用通用计算机的经验会更好,例如WindowsMacintoshUNIX或其他Linux系统。本书适合以下读者:

• 使用Linux上课的学生

• 想要安装和/或运行Linux的家庭用户

• 使用Linux工作的专业人员

• 需要了解Linux及其工具的系统管理员,包括了解BashPerl脚本语言

• 学习Linux操作系统的计算机科学专业的学生

• 想要深入学习Linux的技术主管

优势

本书从Fedora/RHEL的安装开始,通过Fedora/RHEL的使用和个性化定制,让你广泛了解Linux的各个层面。不管你是什么背景,本书都会给你提供工作所需的知识。你将会从本书中了解如何使用Linux,并且今后几年这本书对你仍将有参考价值。

本版特色

本版本涵盖了许多主题,以帮助你使用Fedora/RHEL完成工作。

• 介绍Perl编程语言(第28章)。

• 7章的系统管理(第4部分)。

• 使用bash编程(第27章)。

• 第21章全面介绍LDAP

• 第16章全面介绍MySQL关系数据库。

• 第17章的一节介绍Cacti网络监控工具。

• 包含的新内容:第10章的IPv6

• 更新的章节反映了Fedora 15RHEL 6的新特性。

• 4大索引,让你更容易且快速找到所需的内容。这些索引定位表格(含有字母t的页码)、提供定义(斜体页码)并区分简要描述和详细描述(浅色字体和标准字体)。

◆ Jumpstart(内容速览)索引(参见1199页)列出了本书所有的JumpStart章节。这些章节可以帮你快速设置服务器和客户端。

◆ 文件树索引(参见1201页)以分层方式列出了本书提到的大多数文件。主索引也列出了这些文件。

◆ 工具索引(参见1205页)提供了本书提到的所有工具的位置。浅色字体页码表示工具的简要描述,而常规字体表示工具的详细描述。

◆ 修订后的主索引(参见1211页)更突出易用性。

重叠

如果你读过A Practical Guide to Linux® Commands, Editors, and Shell Programming, Second Edition一书,你会发现那本书和你现在正读的这本书之间有一些重叠。其中第1章、工具和文件系统的章节、附录中的正则表达式以及词汇表都非常相似,有关Bourne Again Shellbash)的三个章节和Perl章节也是如此。本书有而第二版没有的内容包括第2章、第3章(安装)、第4章、第8章(Fedora/RHELGUI)、第10章(网络)以及第4部分(系统管理)和第5部分(服务器)的所有章节和附录C(安全)。

区别

本书介绍了如何从图形界面和命令行(文本界面)使用Linux,而A Practical Guide to LinuxCommands, Editors, and Shell Programming, Second Edition一书则完全基于Linux命令行以及除此之外的Mac OS X。它包括了vimemacs编辑器的完整章节以及gawk模式处理语言、sed流编辑器和rsync安全复制工具章节。此外,它有一个命令参考章节,提供了LinuxMac OS X最重要的100个工具的应用示例,可以使用这些工具来解决一些问题而无须诉诸C编程。

本书特点

本书的设计和组织让你能在最短的时间内从中获得最多的知识。不必直接通过页面顺序逐页阅读本书,相反,如果你使用Linux还算顺手的话,可以把本书当做参考:在目录或索引中查找感兴趣的主题,并阅读它;或把本书当做Linux主题的目录册:翻阅页面,直到一个主题吸引住你的眼球。书中包含许多网站链接,在那里可以获得更多的信息:可以把互联网当做本书的延伸。

本书的组织结构具有以下特点:

• FedoraRed Hat Enterprise Linux:本书中的术语“Fedora/RHEL”指的是FedoraRed Hat Enterprise Linux两者。对于只适用其中一个操作系统的特性,使用这些标志来标示:(Fedora)或(RHEL)。

• 选读部分:当你准备深入研究时,选读部分可以让你阅读到不同级别的更难的内容。

• 注意框:强调容易出错的步骤,在你陷入困境之前给出指导。

• 提示框:强调节省时间的方法或是另外有趣的信息。

• 安全框:给出了更安全使用系统的注意事项。安全附录提供了系统安全性问题的快速指南。

• 实例:贯穿全书的概念通过实例加以阐述。

• 目标:每章开头列出本章目标和阅读本章后,你应该能够执行的重要任务清单。

• 本章小结:回顾每章的要点。

• 复习题:每章末尾都有复习题提供给需要的读者,可以进一步训练自己的技能。偶数题号的练习题的答案张贴在www.sobell.com网站上。

• 词汇表:定义了500多个经常遇到的术语。

• JumpStart(内容速览):涵盖服务器的每个章节包含的JumpStart部分可以使你在客户端使用和服务器设置方面迅速入门。一旦服务器启动并运行,可以试验和修改其配置,这些在每个章节的其余部分做了阐述。

• 查找软件、下载和安装:本书提供了在互联网上查找软件的资源。本书也阐述了如何使用yum下载和安装软件以及添加/删除软件窗口、BT下载和专门用于RHELRed Hat网络(RHN)。它详细介绍了如何使用软件更新窗口工具配置自动更新功能。

• GNU工具:这本书详细描述了一些重要的GNU工具,包括GNOME桌面、Nautilus文件浏览器、分区编辑器(包括partedpalimpsestgparted)、gzip压缩工具以及许多来自GNU项目的命令行工具。

• 在线文档:可以从本地系统、Fedora/RHEL网站以及互联网上的其他位置获取在线提供的帮助文档。

• 综合索引:多个综合索引可以帮助你方便快捷地找到主题。

本书包含的重点内容

本节提炼和总结了本书所涵盖的信息。此外,后面的“本书内容(细节)”小节介绍了每章涵盖的内容。目录部分提供了更多的细节。

安装

• 介绍如何从互联网下载FedoraISO映像,并刻录Fedora Live CDFedora安装DVD

• 帮助你规划系统的硬盘布局。包含对分区、分区表和挂载点的讨论,并协助你使用Disk DruidGNOME palimpsest 磁盘工具或者基于图形的gparted分区编辑器检查和分区硬盘。

• 阐述如何建立一个双引导系统,这样就可以在Windows系统上安装Fedora/RHEL系统并且可以启动任何一个操作系统。

• 讨论了如何引导到live Fedora会话,并从会话中安装Fedora

• 详细描述了如何使用Fedora/RHEL安装程序Anaconda,从DVD安装盘安装Fedora/RHEL

• 涵盖了Fedora/RHEL CD/DVD缺陷检测、引导命令行参数(引导选项)设置以及RAID阵列创建。

• 阐述了如何使用逻辑卷管理器(LVM2)设置、扩展和迁移逻辑卷,这在功能上与传统的磁盘分区类似。

使用Fedora/RHEL

介绍了GNOME桌面(GUI)以及阐述了如• 何使用桌面工具,包括面板、面板对象、主菜单、上下文菜单对象、工作区切换器、Nautilus文件浏览器和GNOME终端仿真器。

• 有三个章节包含Bourne Again Shellbash)内容,其中包括一整章的shell编程,这三章包含许多shell脚本例子。这些章节提供了清晰的说明和丰富的例子,包括如何使用bash通过命令行执行日常工作以及如何编写shell脚本。

• 阐述了基于文本(命令行)的界面,并介绍了30多个命令行工具。

• 提供了vim文本编辑器的教程。

• 涵盖了网络类型、网络协议(包括IPv6)和网络工具。

• 阐述了主机名、IP地址和子网,并探讨如何使用hostdig查询互联网上的域名和IP地址。

• 涵盖了分布式计算和客户端/服务器模式。

• 阐述了如何使用ACL(访问控制列表)调整用户的访问权限。

CentOS

• 描述了CentOS操作系统与RHEL的良好兼容性。 CentOSwww.centos.org)是一个免费的Linux发行版,比Fedora历史更悠久、更稳定,但在技术支持方面比不上RHEL。系统管理

• 阐述如何使用Fedora/RHEL图形和文本(命令行)工具来配置显示参数、DNSNFSSambaApache、防火墙、网络接口以及更多。还可以使用这些工具来添加用户以及管理本地和远程打印机。

• 描述如何使用su切换到root权限(成为超级用户)以及在最高权限中工作的优点和风险。

• 详细描述了如何使用sudo使特定的用户具有root权限以及通过编辑sudoers配置文件来自定义sudo的工作方式。

• 描述如何使用以下工具下载和安装软件,以保持系统及其软件最新。

◆ 如果你没有连接互联网,则可以使用Software Update Preferences(软件更新首选项)窗口工具,将本书提供的软件库DVD设置为软件源。然后,可以利用Fedora/RHEL提供的这个软件包仓库来安装软件。

◆ 取决于你如何在软件更新窗口中设置更新,Software Update(软件更新)窗口显示在桌面上,并告诉你软件更新何时可用。可以从软件更新窗口下载并安装更新。

◆ Add/Remove Software(添加/删除软件)窗口提供了一个简便的方法,以便选择、下载和安装各种各样的软件包。

◆ yum工具从互联网上下载并安装软件包,保持系统最新以及解决处理软件包时产生的依赖关系。

◆ 在分发大量数据资料时,BitTorrent是一个不错的选择,例如Fedora/RHEL安装DVDCD。使用BitTorrent下载文件的人越多,它的下载速度就越快。

• 涵盖了一些图形系统管理工具,包括GNOME主菜单提供的许多工具。

• 阐述系统的运作原理,包括引导过程、init脚本、救援(单用户)模式和多用户模式以及系统崩溃时要采取的措施。

• 详细介绍了新的systemd init daemon,它取代了UpstartSystem V init守护进程(Fedora)。

• 描述如何使用和编写新的Upstart init daemon,它取代了System V init守护进程(RHEL)。

• 阐述如何设置和使用Cacti网络监控工具来图示系统和网络信息,还包括如何安装和设置LAMPLinuxApacheMySQLPHP)软件栈。

• 提供安装和设置MySQL关系数据库的说明。

• 描述了文件、目录和文件系统,包括文件类型、fstab(文件系统表)以及自动挂载的文件系统,并阐述如何调整和检查文件系统的完整性。

• 涵盖了备份工具,包括tarcpio

• 描述了压缩/归档工具,包括gzipbzip2compresszip

• 阐述如何定制和构建Linux内核。

安全

• 使用ssh(安全的shell)、vsftpd(安全的FTP服务器)、ApacheWeb服务器)、iptables(防火墙)以及更多的工具助你管理基本的系统安全性问题。

• 描述如何使用基于图形的system-config-firewall工具保护系统。

• 提供有关使用iptables通过LAN共享Internet连接以及建立高级防火墙的说明。

• 提供了一整节的SELinux(安全增强型Linux)内容,包括使用system-configselinux配置SELinux的说明。

• 描述了如何设置chroot jail以帮助保护服务器系统。

• 阐述如何使用TCP wrappers来控制谁可以访问服务器。

客户端和服务器

• 阐述如何设置和使用最常见的Linux服务器,每一章对应一种服务器:ApacheSambaOpenSSHsendmailDNSNFSFTPsystem-config-firewalliptables以及NIS/LDAP

• 描述如何设置CUPS打印机服务器。

• 阐述如何设置和使用MySQL关系型数据库。

• 描述如何设置和使用DHCP服务器。

编程

• 提供了一章Perl编程语言介绍以及一整章使用bash进行shell编程的内容。

本书内容(细节)

1

1章介绍了Linux的简短历史,并阐述了一些最前沿的操作系统特性。其中“本书约定”一节详细说明了书中使用的术语和字样。

1部分

1部分“安装Fedora/RHEL Linux”介绍了如何安装Fedora/RHEL Linux系统。第2章概要介绍了Fedora/RHEL Linux的安装过程,包括硬件要求、下载并刻录CDDVD以及规划硬盘分区。第3章给出一步一步安装FedoraRHEL的指南,涵盖了从CD/DVD和从live 会话(Fedora)进行的安装。

2部分

2部分“Fedora/RHEL入门”让你熟悉Fedora/RHEL,涵盖了登录、GUI、工具、文件系统以及shell。第4章介绍了桌面功能,包括面板和主菜单;阐述如何使用Nautilus文件浏览器来管理文件、运行程序以及连接到FTPHTTP服务器;涵盖文档查找、登录问题处理和窗口管理器使用;提供一些在哪里可以找到文档的建议,包括手册、教程、软件说明和HOWTO文档。第5章介绍了shell命令行界面,描述了30多个有用的工具,并提供了vim文本编辑器的教程。第6章讨论了Linux分层文件系统,涵盖文件、文件名、路径名、目录使用、访问权限以及硬链接和符号链接。第7章介绍了Bourne Again Shellbash),并讨论了命令行参数和选项、输入和输出重定向命令、在后台运行程序以及使用shell生成和扩展文件名。有经验的用户可能要略过第2部分提示 

如果之前用过UNIXLinux系统,你可能想要略过或跳过第2部分的部分或全部章节。两个不应该跳过的小节是:“本书约定”(参见英文原书页码第18页),阐述了本书使用的排版和布局约定;“在哪里可以找到文档”(参见英文原书页码第125页),指出LinuxFedora/RHEL文档的本地和远程来源。

3部分

3部分“Fedora/RHEL深入挖掘”详述了系统使用的更多细节。第8章讨论了GUI(桌面)和远程运行图形化程序并在本地显示界面。GNOME一节介绍了几种GNOME工具并深入讲解了Nautilus文件浏览器。第9章扩展了第7章涵盖的bash内容,阐述了如何重定向错误输出、避免覆盖文件以及使用作业控制、进程、启动文件、重要的shell内置命令、参数、shell变量和别名。第10章阐述了网络、网络安全以及互联网,并讨论了网络类型、子网、协议、地址、主机名以及各种网络工具。一个新的小节涵盖了更重要的IPv6协议。“分布式计算”一节描述了客户端/服务器模式和一些可以在网络上使用的服务器。(客户端和服务器的详细设置和使用保留至第5部分)

4部分

4部分涵盖了系统管理。第11章讨论核心概念,如susudo的使用;root权限的使用;SELinux(安全增强型Linux);系统运行,包括对UpstartRHEL)和systemdFedorainit守护进程(Fedora)的讨论;chroot jailTCP wrapper;服务器设置的常规信息;DHCPPAM。第12章阐述了Linux文件系统,详细讲解了文件类型,包括特殊文件和设备文件;使用fsck验证文件系统的完整性和修复文件系统以及使用tune2fs更改文件系统参数。第13章,阐述了如何使用互联网下载和安装软件以保持系统最新,包括一些使用yum执行这些任务的例子。它还涵盖了RPM软件打包系统和rpm工具的使用。最后,阐述了如何使用BitTorrent从命令行中下载文件。第14章阐述了如何设置CUPS打印系统,以便可以在本地和远程系统上进行打印。第15章详细介绍了Linux内核的定制和构建。第16章涵盖了其他管理任务,包括设置用户账户、备份文件、调度自动化任务、跟踪磁盘使用情况、解决一般问题以及设置MySQL关系数据库。第17章阐述了如何设置局域网(LAN),包括硬件(包含无线)和软件配置以及如何设置Cacti进行网络监控。

5部分

5部分详细讲解了服务器的设置和运行以及如何使用客户端连接这些服务器。这些章节的适当位置包含了JumpStart部分,当使用客户端或进行服务器设置时,JumpStart可以让你迅速入门。第5部分的章节涵盖以下客户端/服务器:

• OpenSSH——设置OpenSSH服务器以及使用sshscpsftp安全地进行互联网通信。

• FTP——设置安全的FTP服务器vsftpd和使用几种FTP客户端与服务器交换文件。

• Email——配置sendmail和使用WebmailPOP3IMAP检索电子邮件;使用SpamAssassin来抵制垃圾邮件。

• NISLDAP——设置NIS以方便局域网系统管理,设置LDAP以维护数据库。

• NFS——在网络上的各个系统之间共享文件。

• Samba——在WindowsLinux系统之间共享文件和打印机。

• DNS/BIND——设置域名服务器,以便让互联网上的其他系统获悉其要连接的本地系统的名称和IP地址。

• system-config-firewall和 iptables——设置防火墙以保护本地系统以及在局域网上共享单个Internet连接。

• Apache——设置HTTP服务器,用来提供网页服务。本章包括提出的很多建议。本章还包括一些增强Apache安全性的建议。

6部分

6部分涵盖了两个重要的编程工具,这两个工具广泛应用在Fedora/RHEL系统管理和通用编程领域。第27章继续第9章的内容,更深入地探讨了使用bash进行shell编程及其更丰富的例子。第28章介绍了流行的、功能丰富的Perl编程语言,包括正则表达式和文件处理。第7部分

7部分附录包括正则表达式、有用的网站、系统安全和自由软件。这部分还包括一个丰富的词汇表再加上500多项的JumpStart索引、文件树索引、工具索引和主索引。

补充

作者的主页(www.sobell.com)包含一些较长程序的下载列表,以及许多有趣且有用的Linux网站地址,还有本书的更正列表和偶数序号练习题的答案,并向读者征求对本书的更正、意见和建议。

致谢

首先,我要感谢Prentice Hall出版社的总编辑Mark L. Taub,正是他的鼓励和支持才使这个项目度过了最艰难的岁月。Mark是我30年著书历程中唯一一个全程使用书中工具的编辑。因为Mark家中电脑上运行着Linux系统,因此写这本书时可以与我分享经验。Mark,你的意见和指导是非常宝贵的,没有你的帮助,也就不会有本书的存在。谢谢你,Mark T

Prentice Hall出版社的制作人进行了出色的合作:制作经理Julie Nahil在本书制作过程提

供了全方位的服务,为我提供夜以继日的帮助并使一切按正轨运行;总编辑John Fuller为本书拓展了视野。感谢Bob CampbellLinda Seifert,正是他们的逐页校对,才使笔者留下错误得到修正。

还要感谢促成本书的Prentice Hall出版社的其他职员,特别是编辑助理Kim Boedigheimer,他参与了与本书出版相关的许多细节;公关人员Heather Fox、市场营销经理StephaneNakib、媒体设计师Dan Scherf、高级索引者Cheryl Lenser、设计经理Sandra Schroeder、封面设计师ChutiPrasertsith以及在幕后为本书工作的每个人。

Lauber系统解决方案公司的Susan Lauber也为本书倾注了很多心血。她审查了本书草稿的许多章节,提供了贯穿全书的见解、技巧和修正。她还帮助审阅了书中的目标和练习。她在Fedora/RHEL系统知识方面的深度和广度给我留下了非常深刻的印象。

我还要感谢免费在线电脑辞典(FOLDOC)的编辑Denis HoweDenis非常慷慨地允许我使用他编纂的条目。请务必访问www.foldoc.org站点来查阅这本字典。

我要大大感谢阅读过本书草稿的人们,正是他们提出的意见使本书的部分章节更加清晰和有条理:系统资深设计和管理员Doug Hughes对系统管理章节提供了很大支持;谷歌网站可靠性工程师Richard WoodburyIPv6方面的学识为本书提供了非常宝贵的建议;Intrepidus公司的Max SobellRed Hat公司的Lennart Poettering;惠普公司高级教育顾问George Vish II;波士顿大学信息技术办公室的高级系统分析员/系统管理员Matthew MillerGarth SnyderNathanHandlerAnne Arundel社区学院名誉教授Dick SeabrookAudacious软件公司的Chris KarrITT技术学院的讲师Scott McCrea

还要感谢以下为我先前Linux书籍提供帮助的人们,这些书籍为本书提供了基础:论坛理事会成员,Ubuntu开发者John DongLand the Tech Job You Love: Why Skill and Luck Are NotEnough一书的作者Andy LesterUbuntu开发经理和桌面小组负责人Scott James RemnantSwansea大学的David ChisnallAztek网络的Scott MannMansueto风险投资的ThomasAchtemichuk;专家/工程师/设计师Daniel R. Arfsten;惠普教育服务高级教育顾问Chris Cooper;旧金山州立大学信息系统副教授Sameer VermaPalomar学院和程序员协会的Valerie ChauJames KratzerSean McAllister;纽约Ubuntu社区团队的Nathan EckenrodeChrister EdwardsNicolas MerlineMichael PriceUbuntu社区和论坛理事会成员Mike BasingerUbuntu论坛工作人员Joe BarkerSystemateka公司的James StockfordBook OvenStephanieTroethDoug SheppardOpenGeoSolutionsIT总监Bryan Helvey以及FlintBaker学院的Vann Scott。此外,感谢Fedora项目的Jesse Keating;软件工程师和KDE开发人员Carsten PfeifferXimianAaron WeberCritterDesign软件开发人员Cristof Falk;普林斯顿大学计算机科学系的Steve Elgersma;明尼苏达大学的Scott Dier;计算机网络工程的Robert Haskins;哈佛大学的Lars Kellogg-StedmanPrivateer系统首席系统顾问Jim A. LolaOpen Source Initiative创始人之一Eric S. RaymondScott Mann;独立计算机顾问Randall Lechlitner;蒙哥马利县社区学院计算机科学讲师Jason WertzSolano社区学院的Justin Howell;快速学习中心的Ed SawickiDavid Mercer;作为倡导者、作家和记者的Jeffrey BianchineJohn Kennedy以及星光技术服务公司的Jim Dennis

还要感谢Puryear信息技术公司的Dustin Puryear;独立顾问Gabor LiptakiPost首席技术官Bart SchaeferLinux在线的Web开发人员Michael J. JordanSuperAnt.com所有者Steven Gibson

安全软件公司的创始人和首席科学家John Viega;环球电讯公司互联网安全分析师K. Rachael TreuK & S Pritchard公司的Kara PritchardCapital One财务公司的Glen WileyLook-smart 高级软件工程师KarelBalounMatthew Whitworth;诺基亚系统公司的Dameon D. Welch- Abernathy;顾问Josh SimonStan Isaacs以及Herrin软件开发公司的副总裁Eric H. Herrin II博士。

更要感谢顾问Lorraine CallahanSteve WamplerGraburn技术公司的Ronald Hiller;韦恩州立大学的Charles A. PlaterBob PalowodaSun Microsystems公司的Tom Bialaski;网络联盟TIS实验室的Roger HartmullerKaowen LiuAndy SpitzerRik SchneiderJesse St. LaurentSteve BellenotRay W. HiltbrandJennifer WithamGert-Jan Hagenaars;以及Casper Dik

本书基于我之前的两本UNIX书籍:UNIX System V: A Practical GuideA Practical Guide to the UNIX System。在此要感谢审阅这些书的人们:Pat ParseghianKathleen Hemenway博士;Brian LaRoseClark Atlanta大学的Byron A. JeffCharles Stross;朗讯科技公司的Jeff GitlinKurt Hockenbury;英特尔以色列公司的Maury BachPeter H. Salus;宾夕法尼亚大学的Rahul Dave;智能算法解决方案公司的Sean Walton;计算机科学公司的Tim SegallDeAnza学院的BehrouzForouzan;弗吉尼亚理工学院和州立大学的Mike Keenan;俄勒冈州立大学的Mike Johnson;马里兰大学的Jandelyn Plane;佐治亚理工学院的Arnold RobbinsSathisMenon;弗吉尼亚理工学院和州立大学的Cliff Shaffer;以及加州州立大学Northridge分校的Steven Stepanek

仍然要感谢为我早期版本的UNIX书籍提供帮助的人们。特别感谢向我介绍UNIX系统的Roger SipplLaura KingRoy Harrington。我的母亲Helen Sobell博士也为本书的原始手稿提供了宝贵的意见。此外,感谢Isaac RabinovitchRaphael Finkel教授、Randolph Bentson教授、Bob GreenbergUdo Pooch教授、Judy RossRobert Veroff博士、Mike Denny博士、Joe DiMartinoJohn Mashey博士、Diane SchulzRobert JungCharles WhitakerDon CragunBrian DoughertyRobert Fish博士、Guy HarrisPing LiaoGary LindgrenJarrett Rosenberg博士、Peter Smith博士、Bill WeberMike BianchiScooter MorrisClarke EcholsOliver GrillmeyerDavid Korn博士、Scott Weikart博士以及Richard Curtis博士。

我为本书的任何错误和遗漏负责。如果你找到一个问题或仅仅是一个建议,都请发邮件给我:[email protected],我会在下次印刷时修正它。我的主页www.sobell.com包含一个错误列表和发现这些错误的人员光荣榜,主页中还提供了本书较长脚本的副本,并链接了互联网上一些有趣的Linux网页。你还可以在twitter.com/marksobell上与我交互。

Mark G. Sobell

美国加利福尼亚州旧金山

你可能感兴趣的:(linux)