第1章 RHEL 3基础知识 1
1.1 桌面环境概述 1
目录 1
1.1.1 GNOME 2
1.1.2 XFree86 4
1.1.3 导出显示 4
1.2 命令行概述 5
1.2.1 虚拟终端 6
1.2.2 gnome-terminal 6
1.2.3 bash命令解释器基础知识 6
1.3.1 使用Kudzu 9
1.3.2 列出已检测到的硬件 9
1.3 硬件配置 9
1.3.3 添加模块 10
1.3.4 配置网卡 12
1.3.5 配置视频 12
1.4 GUI应用程序 13
1.4.1 文本编辑器 13
1.4.2 浏览Internet 13
1.4.3 使用Nautilus 14
1.4.4 使用GNOME帮助浏览器 17
1.5 系统管理工具 17
1.5.1 使用GUI查看系统日志 17
1.5.2 在命令行中查看系统日志 19
1.5.3 使用GUI查看系统性能 19
1.6 管理用户 20
1.6.1 建立默认配置参数 20
1.5.4 在命令行中查看系统性能 20
1.6.2 使用GUI添加用户 22
1.6.3 使用useradd添加用户 23
1.6.4 使用GUI修改用户 24
1.6.5 使用usermod修改用户 26
1.6.6 使用GUI删除用户 27
1.6.7 使用userdel删除用户 27
1.7 管理文件和目录 27
1.7.1 列出文件和目录 28
1.7.2 使用Nautilus复制文件 28
1.7.3 使用命令行复制文件和目录 28
1.7.4 使用Nautilus移动文件 29
1.7.5 使用命令行中移动文件和目录 29
1.7.8 使用Nautilus重命名文件 30
1.7.6 使用Nautilus删除文件 30
1.7.7 使用命令行删除文件和目录 30
1.7.9 使用Nautilus创建符号链接 31
1.7.10 使用命令行创建符号链接 31
1.7.11 使用Nautilus打开文件 31
1.8 检查进程 32
1.8.1 使用GUI 32
1.8.2 使用ps 32
1.8.3 使用top 33
1.9 小结 33
第2章 使用Red Hat网络 34
2.1 RHN的定义 34
2.2 RHN的模块 35
2.2.3 信息供应模块 36
2.2.2 Management模块 36
2.2.1 Update模块 36
2.2.4 接收RHN的功能 37
2.2.5 Red Hat技术支持概述 37
2.3 RHN体系结构 38
2.4 RHN安全性概述 42
2.4.1 主服务器体系结构模型的安全特性 42
2.4.2 代理体系结构模型的安全特性 42
2.4.3 附属体系结构模型的安全特性 43
2.5 激活RHN的使用权利 43
2.5.1 使用RHN的必备条件 43
2.5.2 Red Hat更新代理 44
2.5.3 向RHN注册系统 48
2.5.4 向RHN注册系统配置参数 50
2.6 更新系统 53
2.7 RHN Alert Notification工具 65
2.8 Red Hat网络服务守护进程概述 68
2.9 RHN基于Web的管理界面 70
2.9.1 在RHNWeb站点上创建一个新的账户 70
2.9.2 浏览RHNWeb站点 71
2.9.3 激活RHN的系统使用权利 72
2.10 RHN的高级功能 74
2.10.1 为系统分配使用权利 75
2.10.2 检查系统详细信息 75
2.10.3 系统组 75
2.10.4 使用Management Eatitlement Functionality的功能来管理一组系统 76
2.10.5 安排系统更新 76
2.10.6 创建多个用户并分配访问权限 76
2.11.3 使系统回滚到上一个快照 79
2.11.2 标志系统 79
2.11 使用信息供应机制管理系统 79
2.11.1 kickstart 79
2.11.4 远程命令 80
2.12 下载Red Hat Enterprise的发布版本 80
2.13 其他任务 80
2.13.1 更新硬件/软件包配置参数 80
2.13.2 重新启动系统 81
2.13.3 系统锁定/解除系统锁定 81
2.13.4 删除系统配置参数 81
2.14 小结 82
第3章 文件系统 83
3.1 理解FHS 83
3.2 理解文件系统许可权限 85
3.3.1 处理所有权及访问 86
3.3 管理文件与目录 86
3.3.2 使用chown改变文件/目录的所有权 87
3.3.3 使用chgrp改变文件/目录的用户组 88
3.3.4 目录访问权限的注意事项 92
3.3.5 管理链接的权限 93
3.3.6 设置系统默认值 94
3.3.7 重组文件及目录 94
3.3.8 在当前位置重命名具体文件类型 94
3.4 管理磁盘及分区 96
3.4.1 添加新磁盘 96
3.4.2 利用ext3文件系统 101
3.4.3 将文件系统挂载为只读 101
3.5 使用proc文件系统 102
3.4.4 从旧盘向新盘迁移 102
3.6 启用访问控制列表 105
3.6.1 为ACL准备分区 105
3.6.2 使用ACL来控制对文件及目录的访问 106
3.7 文件系统故障排除 106
3.7.1 解决磁盘空间问题 107
3.7.2 解决文件访问的问题 107
3.8 小结 108
第4章 存储管理 109
4.1 存储管理的概念 109
4.2 RAID与卷管理 110
4.2.1 创建空间 110
4.2.2 RAID 111
4.2.3 在RHEL 3中实现RAID 115
4.2.4 配置冗余的启动磁盘 128
4.2.5 mdadm及其Monitor模式 131
4.2.6 备份组 131
4.2.7 使用镜像进行一致性备份 134
4.2.8 硬件RAID 136
4.3 高级主题——卷管理 137
4.3.1 卷快照 144
4.3.2 其他LVM命令 145
4.4 小结 146
第5章 高可用性:保证系统持续运行 148
5.1 群集系统概述 149
5.2 群集硬件 150
5.2.1 硬件的选择 151
5.3 群集软件配置 154
5.2.2 硬件配置 154
5.3.1 外部存储设备 158
5.3.2 裸设备 159
5.3.3 设置分区 160
5.4 安装并配置群集软件 163
5.4.1 安装软件包 163
5.4.2 配置群集 164
5.4.3 配置群集守护进程 166
5.4.4 添加群集成员 168
5.5 设置故障切换群集化的服务 173
5.5.1 添加服务 174
5.5.2 测试群集配置 175
5.6 将Apache Web服务器安装为一项服务 176
5.6.1 配置共享存储系统 176
5.5.3 排除群集配置故障 176
5.6.2 安装Apache服务器 177
5.6.3 在群集中添加服务 177
5.7 群集管理 178
5.7.1 命令行管理工具 178
5.7.2 GUI管理工具 178
5.7.3 启用成员 179
5.7.4 停止成员 179
5.7.5 备份群集配置 180
5.8 小结 180
第6章 Red Hat Enterprise Application 181
6.1 安装Red Hat WAF 181
6.1.1 安装Web服务器 182
6.1.2 安装JRE 182
6.1.3 安装PostgreSQL 183
6.1.4 安装Tomcat 186
6.1.5 安装其他软件包 188
6.1.6 安装WAF软件包 189
6.1.7 修改数据库 189
6.2 配置WAF 190
6.3 安装Portal Server 193
6.4 安装CMS 194
6.5 小结 194
第7章 系统管理 196
7.1 成为超级用户 196
7.2 为普通用户分配特权 198
7.3 使用命令行工具创建用户 201
7.3.1 新建用户账户 201
7.3.3 修改现有的用户账户 202
7.3.2 新建组 202
7.3.4 修改现有的组 204
7.3.5 删除或禁用用户账户 204
7.3.6 创建默认的用户设置 205
7.4 使用用户的磁盘配额 207
7.4.1 安装磁盘配额软件 207
7.4.2 配置系统使其支持磁盘配额 207
7.4.3 为用户指定磁盘配额 208
7.4.4 监视磁盘使用量 209
7.5 进程管理 210
7.5.1 如何启动进程 210
7.5.2 控制和监视进程 211
7.5.3 监视进程和系统负载 219
7.5.4 记录进程日志 221
7.5.5 调度进程 223
7.6 备份 225
7.6.1 使用rsync备份文件和目录 226
7.6.2 使用rsync通过SSH自动进行备份 227
7.6.3 向rsync备份服务器隐藏源目录 228
7.6.4 通过Web管理备份 229
7.7 小结 232
第8章 建立Web服务器的服务 233
8.1 Apache 2 233
8.1.1 Apache 2模块概述 235
8.1.2 在RHEL 3上安装Apache 2 237
8.1.3 配置Apache 2.0 Web服务器 244
8.1.4 为企业/生产领域的Web服务器配置Apache 2.0 255
8.1.5 使用Red Hat HTTP配置工具 259
8.1.6 添加DSO(动态共享对象)模块 261
8.1.7 使用SSL配置一个安全的Web服务器 263
8.1.8 关于Apache安全性的一点技巧 269
8.2 Red Hat内容加速器 272
8.2.1 Red Hat Content Accelerator的安装 272
8.2.2 Red Hat Content Accelerator目录结构概述 273
8.2.3 启动和停止Red Hat Content Accelerator 273
8.2.4 使用Red Hat Content Accelerator作为HTTP服务器建立第一个Web站点 275
8.2.5 将Red Hat Content Accelerator用作Web服务器 278
8.2.6 将Red Hat Content Accelerator用作匿名FTP服务器 278
8.3 小结 279
第9章 建立远程访问服务 280
9.1 基础概念 280
9.1.1 FTP协议概述 280
9.1.2 vsftpd服务器概述 282
9.1.3 安装vsftpd服务器 283
9.1.4 启动/停止FTP服务器 284
9.1.5 测试FTP服务器 286
9.1.6 配置vsftpd服务器 287
9.2 使用SSH服务器 298
9.2.1 SSH协议概述 298
9.2.2 OpenSSH概述 299
9.2.3 使用OpenSSH 299
9.2.4 配置OpenSSH服务器 299
9.2.5 OpenSSH客户端配置文件(ssh_config) 303
9.2.6 启动/停止OpenSSH守护进程 304
9.2.7 使用ssh、scp、sftp客户端 305
9.2.8 公有密钥验证 310
9.2.9 X11转发 313
9.2.11 其他资源 314
9.2.10 端口转发 314
9.3 小结 315
第10章 建立打印服务 316
10.1 安装打印服务 316
10.1.1 Red Hat Enterprise Linux 3上的打印服务器 316
10.1.2 打印服务器的功能 317
10.2 管理打印机 318
10.2.1 安装打印机 318
10.2.2 配置打印机 322
10.2.3 配置默认打印机 322
10.2.4 删除现有的打印机 323
10.2.5 编辑打印机设置 323
10.2.6 共享打印机 324
10.3.2 启动(或停止)打印机守护进程 326
10.3 维护打印服务 326
10.3.1 备份和恢复打印配置 326
10.3.3 管理打印作业 327
10.3.4 从应用程序打印 328
10.3.5 在命令行中创建打印作业 328
10.4 其他资源 329
10.4.1 CUPS的Web界面 329
10.4.2 管理选项 330
10.4.3 Web资源 336
10.5 小结 336
第11章 建立文件共享服务 337
11.1 设置文件服务器 337
11.1.1 Samba概述 338
11.1.2 使用图形用户界面配置Samba 345
11.1.3 使用SWAT配置Samba 347
11.1.4 Samba故障排除 357
11.2 创建NFS服务器 357
11.2.1 NFS概述 357
11.2.2 NFS的特性和优点 358
11.2.3 NFSv2和NFSv3 358
11.2.4 RHEL 3中NFS的工作原理 358
11.2.5 NFS的配置 359
11.2.6 NFS服务器管理 365
11.2.7 设置NFS客户端 367
11.2.8 NFS的安全性 372
11.2.9 NFS故障排除 374
11.3 小结 375
12.1.2 Qmail 377
12.1.1 Sendmail 377
第12章 建立企业级电子邮件服务 377
12.1 RHEL 3电子邮件服务 377
12.1.3 Postfix 378
12.2 为电子邮件服务器设置DNS 378
12.2.1 创建地址和电子邮件交换(Mail Exchange,MX)记录 378
12.2.2 创建反向DNS(PTR)记录 379
12.2.3 使用dig测试DNS配置 379
12.3 安装和配置Postfix 382
12.3.1 使用RPM安装Postfix 382
12.3.2 在Internet上启用Postfix 383
12.4 设置邮箱和POP/IMAP服务 384
12.4.1 创建用户账户 384
12.4.2 配置POP3/IMAP 384
12.5 从任何地方发送电子邮件 386
12.6 使用SpamAssassin对付广告 388
12.6.1 安装SpamAssassin 389
12.6.2 为Postfix准备SpamAssassin 390
12.7 设置Postfix的虚拟域 393
12.8 使用Webmin管理Postfix 394
12.9 设置Web邮件客户端 396
12.9.1 满足SquirrelMail的需求 396
12.9.2 安装和配置SquirrelMail 396
12.9.3 运行SquirrelMail 399
12.10 小结 402
第13章 建立DNS和LDAP服务 403
13.1 DNS的工作原理 403
13.2 配置DNS客户端(解析器) 404
13.3 设置DNS服务器 406
13.3.1 理解DNS配置的基础知识 407
13.3.2 主/从DNS服务器 414
13.3.3 从/辅助名称服务器 414
13.3.4 反向DNS服务器 415
13.3.5 只用于缓冲的DNS服务器 416
13.3.6 控制DNS服务器 416
13.4 测试DNS服务器 418
13.5 DNS服务器的性能测试 418
13.6 使用DNS服务器平衡负载 420
13.7 理解DNS欺骗 421
13.8 使用Dlint检查DNS配置 421
13.8.1 获取Dlint 421
13.8.3 运行Dlint 422
13.8.2 安装Dlint 422
13.9 BIND的安全性 425
13.9.1 使用事务签名(TSIG)进行区域传输 425
13.9.2 以非root用户运行BIND 427
13.9.3 隐藏BIND版本号 427
13.9.4 限制查询 428
13.9.5 关闭粘合索取 429
13.9.6 为DNS服务器配置chroot jail 429
13.9.7 使用DNSSEC(签名区域) 429
13.10 设置LDAP服务器 430
13.10.1 安装OpenLDAP 430
13.10.2 配置OpenLDAP 431
13.11 小结 432
14.1 监视系统日志和活动 433
第14章 高级系统管理 433
14.2 监视网络活动 436
14.2.1 使用netstat监视网络连接 436
14.2.2 使用Nagios监视网络群集 437
14.3 内核的性能调整 449
14.3.1 增加系统级文件描述符的计数 451
14.3.2 为大型应用程序调整共享内存 452
14.3.3 内核崩溃后的重启动 452
14.3.4 调整内核中TCP/IP的性能参数 453
14.3.5 生成initrd 454
14.4 小结 456
第15章 RHEL 3的安全性 457
15.1 安全性基础 457
15.1.2 管理文件访问权限 458
15.1.1 文件访问权限 458
15.1.3 设置umask 461
15.1.4 使用sudo 461
15.1.5 sudoers潜在的安全性风险 463
15.1.6 使用last和who 463
15.2 使用Bastille Linux增强系统 464
15.2.1 安装Bastille Linux 465
15.2.2 配置Bastille Linux 465
15.2.3 使用Red Hat安全级别配置 469
15.3 使用IPTables管理防火墙 471
15.3.1 配置IPTables 472
15.3.2 保存和恢复IPTables 478
15.3.3 启动和停止IPTables 480
15.4.2 配置Tripwire 481
15.4.1 安装Tripwire 481
15.4 使用Tripwire实现系统完整性 481
15.4.3 生成Tripwire数据库 483
15.4.4 检查Tripwire的完整性 483
15.4.5 Tripwire的资源 486
15.5 使用tcpdump分析网络数据流 487
15.6 使用nmap进行端口扫描 488
15.7 使用GnuPG进行加密 489
15.7.1 安装GnuPG 490
15.7.2 生成密钥 491
15.7.3 交换密钥 492
15.7.4 使用密钥作为签名 493
15.8 虚拟专用网络 496
15.8.1 使用IPSec 496
15.8.2 使用CIPE 499
15.9 小结 502
第16章 使用Perl和命令解释器脚本管理系统 504
16.1 Perl脚本编写 504
16.2 理解Perl的基本概念 504
16.2.1 Perl的定义 504
16.2.2 CPAN的概念 505
16.3 使用Perl脚本 507
16.3.1 自动更新CPAN模块 507
16.3.2 使用to-do列表自动提醒用户 508
16.3.3 自动应答脚本 512
16.4 命令解释器脚本 521
16.5 管理Web站点的一些有用脚本 529
16.5.1 防止暴露Web目录的内容 529
16.5.2 将.htm重命名为.html 530
16.5.3 修改*.html文件 532
16.5.4 使用密码保护Web目录 532
16.6 小结 537
第17章 其他资源 538
17.1 Linux资源 538
17.1.1 Linux的Internet资源 538
17.1.2 开源软件的Internet资源 539
17.1.3 Linux文档资源 539
17.2 安全性资源 540
17.2.1 安全性新闻资源 540
17.2.2 安全性缺陷和补丁警告的站点 540
17.3 Red Hat商业技术支持 541
17.2.3 开源的安全性软件的资源 541
17.4 Red Hat Fedora项目 542
17.5 开源应用程序开发 542
17.5.1 PHP 543
17.5.2 Python 544
17.5.3 MySQL 545
17.5.4 PostgreSQL 546
17.6 系统管理应用程序 547
17.7 SELinux 549
17.7.1 SELinux的定义 549
17.7.2 SELinux的特性和优点 549
17.8 小结 549
A.1.1 识别系统硬件组件 550
A.1.2 了解系统的角色 550
附录A 安装RHEL 3 550
A.1 开始之前 550
A.1.3 使用信息核对表 551
A.2 RHEI 3安装选项 551
A.2.1 从CD启动 552
A.2.2 从硬盘启动 552
A.2.3 从NFS驱动器上安装 552
A.2.4 从FTP安装 552
A.2.5 从HTTP安装 552
A.2.6 注册Red Hat 553
A.3 安装RHEL 3 553
A.3.1 欢迎窗口与发布声明 553
A.3.2 选择语言 554
A.3.3 磁盘分区 554
A.3.5 配置网络 557
A.3.4 配置启动加载程序 557
A.3.6 设置软件包 558
A.3.7 设置桌面环境 559
A.3.8 重新启动 560
A.3.9 完成安装 560
A.4 小结 561
附录B 安装软件 562
B.1 RPM的概念 562
B.2 RPM命令行工具 569
B.2.1 查询软件包 569
B.2.2 RPM软件包的安全性 572
B.2.3 安装软件包 574
B.2.4 移除软件包 575
B.2.5 升级软件包 576
B.3 小结 577