第1篇 Red Hat基础入门 1
第1章 抛砖引玉:Linux与开源文化 1
1.1什么是Linux 2
1.2 Linux的诞生和发展 2
1.2.1 4个概念 2
1.2.2 Linux操作系统的诞生 3
1.3 Linux的主要版本 4
1.3.1 Ubuntu 4
1.3.2 Ylmf OS 4.0 5
1.3.3 Linux Mint 5
1.4开源文化 6
1.5小结 7
第2章 以逸待劳:安装Linux 8
2.1安装前的准备工作 9
2.1.1硬件需求 9
2.1.2光盘启动安装 11
2.2安装Linux 11
2.3卸载Linux 27
2.4登录Red Hat Linux 28
2.4.1图形化登录 29
2.4.2远程登录 29
2.4.3图形化环境 30
2.5小结 30
第3章 无中生有:文件和磁盘管理 31
3.1 Red Hat Linux文件系统入门 32
3.1.1文件简介 32
3.1.2目录简介 33
3.1.3文件系统的结构 34
3.2文件的基本操作 36
3.2.1新建和删除文件 37
3.2.2复制和移动文件 38
3.2.3查看和创建文件 38
3.3压缩文件的生成及解压缩 40
3.3.1以zip命令创建.zip文件 40
3.3.2以unzip命令进行.zip文件的解压缩 41
3.3.3 gzip命令的使用 41
3.3.4文件打包程序tar 42
3.3.5以compress或uncompress处理.Z文件 42
3.3.6图形化界面下的压缩与解压缩 43
3.4设置文件/目录访问权限 43
3.4.1权限的意义 43
3.4.2在图形界面下改变文件/目录的权限 45
3.4.3使用chmod命令修改文件/目录的访问权限 45
3.4.4使用命令chown改变文件/目录的所有权 47
3.5管理磁盘存储器 48
3.5.1查看系统磁盘使用情况 48
3.5.2用户磁盘空间管理 49
3.5.3磁盘分区操作 51
3.5.4优化Linux系统硬盘 52
3.6使用光盘 55
3.6.1光盘驱动器的设备文件 55
3.6.2挂载和卸载光盘 55
3.6.3光驱的弹出与关闭 56
3.6.4制作ISO文件 56
3.6.5刻录光盘 58
3.7本章知识点综合应用 60
3.7.1 Linux文件系统的常用操作 60
3.7.2 Linux文件的压缩包管理 61
3.7.3本章知识点整理 65
3.8小结 65
第2篇 Red Hat初步使用 66
第4章 隔岸观火:系统管理初步 66
4.1显示设置 67
4.1.1设置分辨率和色彩深度 67
4.1.2设置桌面 67
4.2硬件配置 68
4.2.1配置声卡 69
4.2.2配置网卡 70
4.3打印机的安装、配置和管理 73
4.3.1安装、配置打印机 74
4.3.2修改打印机配置 76
4.3.3管理打印机 76
4.4配置X Window及显卡 77
4.5常见硬件的检测 78
4.5.1中央处理器状态的检测 78
4.5.2硬盘物理坏道的检测 79
4.5.3内存的检测 81
4.6设置用户界面 82
4.6.1 KDE桌面系统组成 83
4.6.2 GNOME桌面系统 83
4.7本章知识点综合应用 84
4.7.1网络打印机的安装 85
4.7.2 Linux下的网卡配置 91
4.7.3本章知识点综合整理 96
4.8小结 96
第5章 李代桃僵:网上冲浪 97
5.1联网设置 98
5.1.1互联网配置向导 98
5.1.2拨号连接 98
5.1.3 ISDN连接 99
5.1.4局域网连接 99
5.1.5测试网络连接 99
5.2浏览网页 100
5.2.1使用Mozilla浏览器 101
5.2.2使用Mozilla帮助内容 104
5.2.3使用Mozilla快捷键 105
5.3收发E-mail 105
5.3.1结识KMail 106
5.3.2 KMail邮件处理功能 107
5.3.3 KMail联系人 110
5.3.4 KMail垃圾邮件管理 112
5.4下载工具 113
5.5网上聊天 115
5.5.1启动Kopete 115
5.5.2创建新用户 116
5.6本章知识点综合应用 116
5.6.1 QQ客户端DEB格式安装 117
5.6.2 QQ压缩包安装 119
5.6.3直接使用WebQQ 120
5.6.4本章知识点综合整理 121
5.7小结 121
第6章 借刀杀人:软件包管理 122
6.1 RPM包管理 123
6.1.1 RPM软件包的查询 123
6.1.2 RPM软件包的安装 126
6.1.3 RPM软件包安装可能出现的问题 127
6.1.4 RPM软件包的卸载 127
6.1.5 RPM软件包的升级 128
6.1.6 RPM软件包的验证 128
6.1.7 Red Hat Linux的添加/删除应用程序 129
6.2 RPM软件包的密钥管理 131
6.2.1下载与安装PGP 131
6.2.2 RPM使用PGP产生签名所需的配置 132
6.2.3配置RPM宏 132
6.2.4 RPM的PGP签名选项 133
6.2.5添加数字签名 133
6.3 tar包管理 133
6.3.1 tar命令语法及参数选项 133
6.3.2创建tar文件 135
6.3.3显示tar文件内容 136
6.3.4向tar文件中添加一个文件 137
6.3.5从tar文件中取出文件 137
6.4 Linux下常用的压缩工具 138
6.4.1 gzip压缩工具 138
6.4.2 zip/unzip命令 140
6.4.3 bzip2命令 144
6.5本章知识点整理 146
6.6小结 146
第3篇 Red Hat编程应用 147
第7章 连环计:Shell的使用 147
7.1创建和执行Shell程序 148
7.2变量 149
7.2.1给变量赋值 150
7.2.2访问变量 150
7.3位置参数 150
7.4内部变量 151
7.5特殊字符 152
7.5.1双引号 152
7.5.2单引号 153
7.5.3反斜杠 153
7.5.4反引号 154
7.6表达式的比较 154
7.6.1 pdksh和bash环境下的表达式比较 154
7.6.2 tcsh环境下的表达式比较 157
7.7循环语句 159
7.7.1 for语句 159
7.7.2 while循环语句 160
7.7.3 until语句 160
7.7.4 repeat语句 161
7.7.5 select语句 161
7.7.6 shift语句 161
7.8条件语句 162
7.8.1 if语句 162
7.8.2 case语句 163
7.9跳转语句 165
7.9.1 break语句 165
7.9.2 exit语句 166
7.10函数 166
7.11本章知识点综合应用 167
7.11.1编写Shell脚本的一般流程 167
7.11.2 Shell编程实例 168
7.11.3本章知识点整理 174
7.12小结 174
第8章 浑水摸鱼:Linux下的编程 175
8.1 Linux下常用的开发工具 176
8.1.1 GCC 176
8.1.2 CVS 176
8.1.3 Perl 176
8.1.4 Linux上的Delphi——Kylix 177
8.2 Linux下的Vi文本编辑器 177
8.2.1 Vi编辑器介绍 178
8.2.2启动Vi编辑器 179
8.2.3显示Vi中的行号 180
8.2.4光标移动操作 181
8.2.5屏幕命令 182
8.2.6文本插入命令 183
8.2.7附加(append)命令 183
8.2.8打开(open)命令 184
8.2.9文本修改命令 184
8.2.10退出Vi 187
8.3 Linux的C编译器——GCC 187
8.3.1 GCC的编译过程 188
8.3.2 GCC的基本用法和常用选项 188
8.3.3使用gdb调试C程序 191
8.3.4编写Makefile文件 195
8.4 Linux下的PHP编程 201
8.4.1 PHP简介 201
8.4.2配置运行环境 202
8.4.3一个简单的PHP例子 203
8.5本章知识点综合应用 204
8.5.1 Linux的C编译器实战 204
8.5.2 LAMP开发平台环境搭建实战 207
8.5.3本章知识点整理 213
8.6小结 213
第4篇 Red Hat高级管理 214
第9章 暗度陈仓:Linux中的进程管理 214
9.1 Linux进程概述 215
9.2 Linux进程原理 215
9.2.1 Linux进程状态 216
9.2.2 Linux进程工作模式 217
9.3 Linux守护进程介绍 217
9.3.1守护进程简介 218
9.3.2重要守护进程介绍 218
9.3.3创建自己的守护进程 219
9.4启动Linux进程 221
9.4.1手工启动 222
9.4.2任务计划——at命令 223
9.4.3在资源比较空闲的时候执行命令batch命令 226
9.4.4不断重复执行某些命令——cron命令 226
9.4.5操作cron后台进程的表格——crontab命令 226
9.5进程的挂起及恢复 229
9.6 Linux进程管理 230
9.6.1使用ps命令查看进程状态 230
9.6.2使用top命令查看进程状态 234
9.6.3使用kill命令终止进程 235
9.6.4使用sleep命令暂停进程 236
9.7进程文件系统PROC 236
9.8本章知识点综合应用 238
9.8.1系统设计 239
9.8.2代码实现 239
9.8.3本章知识点整理 242
9.9小结 242
第10章 树上开花:Linux用户与组管理 243
10.1用户文件和组文件 244
10.1.1用户账户文件——passwd 244
10.1.2用户组账号文件——/etc/group 246
10.1.3组账号文件——/etc/gshadow 247
10.1.4使用pwck和grpek命令验证用户及组文件 248
10.2管理用户和用户组 250
10.2.1启动Linux的用户管理器 250
10.2.2添加新用户 250
10.2.3编辑用户属性 252
10.2.4创建用户组 253
10.2.5修改用户组属性 255
10.3命令行界面下的用户和组管理 255
10.3.1使用useradd命令添加用户 255
10.3.2使用usermod命令修改用户信息 257
10.3.3使用userdel命令删除用户 257
10.3.4使用groupadd命令创建用户组 257
10.3.5使用groupmod命令修改用户组属性 258
10.3.6使用groupdel命令删除用户组 259
10.4本章知识点综合应用 259
10.4.1以图形界面对用户账号进行创建和维护 259
10.4.2以文本模式对用户账号进行创建和维护 261
10.4.3本章知识点整理 267
10.5小结 267
第11章 金蝉脱壳:DNS服务器 268
11.1域名原理简介 269
11.1.1 DNS的组成 269
11.1.2 DNS的层次结构与域名分配 270
11.1.3根域 271
11.1.4顶级域 271
11.1.5二级域 272
11.1.6常见的域名服务器地址 272
11.2 DNS服务器的安装和配置 274
11.2.1获取BIND所需的安装文件 274
11.2.2安装DNS服务器 275
11.2.3设置/etc/named.conf文件 275
11.2.4主DNS服务器 277
11.2.5配置解析区文件/var/named/127.0.0 277
11.2.6配置/var/named/dodoknight.com.cn文件 278
11.2.7配置/var/named/202.202.88文件 279
11.2.8从DNS服务器 280
11.2.9高速缓存DNS 280
11.3 DNS服务器的运行和测试 281
11.3.1 DNS服务器的运行 281
11.3.2测试DNS服务器 282
11.4域名服务器的安全和优化 285
11.4.1限制BIND运行于“虚拟”根环境下 285
11.4.2区带(Zone)转移 289
11.4.3允许查询 289
11.4.4转发限制 290
11.4.5域名服务器常见问题 290
11.5本章知识点综合应用 290
11.5.1基本要求 290
11.5.2安装 290
11.5.3修改配置文件 291
11.5.4辅助DNS服务器配置 293
11.5.5日志 295
11.5.6本章知识点整理 296
11.6小结 296
第12章 瞒天过海:邮件服务器 297
12.1邮件服务器Sendmail简介 298
12.2邮件服务器的安装与配置 299
12.2.1安装Sendmail 299
12.2.2邮件服务器的编译和优化 300
12.2.3启动Sendmail服务系统 302
12.2.4配置Sendmail 303
12.3使用Sendmail服务器 304
12.3.1建立电子邮件新账号 304
12.3.2设置别名 304
12.3.3限制单个用户邮件容量 305
12.3.4收取邮件——POP3服务器安装 305
12.3.5收取邮件——启动POP3服务 305
12.3.6保证Sendmail的安全 306
12.3.7 Sendmail管理工具 308
12.3.8 Sendmail用户工具 309
12.4本章知识点综合应用 309
12.4.1服务器端的搭建 310
12.4.2 Sendmail服务安装与配置 312
12.4.3 POP3和IMAP的安装与配置 317
12.4.4客户端的搭建 319
12.4.5本章知识点整理 323
12.5小结 323
第13章 反客为主:FTP服务器 324
13.1 FTP服务器简介 325
13.2使用Vsftp服务器 325
13.2.1安装Vsftp务器 326
13.2.2编译和安装软件 326
13.3启动和使用Vsftp服务器 328
13.3.1 xinetd启动方式 328
13.3.2命令行方式启动 329
13.3.3使用Vsftp服务器 329
13.4配置Vsftp服务器 331
13.4.1配置ftpaccess文件 331
13.4.2配置ftphosts文件 336
13.4.3配置ftpservers文件 337
13.4.4配置ftpusers文件 337
13.4.5配置ftpgroups文件 338
13.4.6配置饰ftpconversions文件 338
13.5服务器的运行和测试 339
13.5.1 FTP服务器的启动 339
13.5.2显示FTP服务器在线人数信息 339
13.5.3关闭FTP服务器 339
13.5.4 FTP内部命令 339
13.5.5下载工具wget 341
13.6本章知识点综合应用 342
13.6.1安装Vsftpd服务软件 343
13.6.2 FTP常规配置应用案例一 343
13.6.3 FTP常规配置应用案例二 346
13.6.4本章知识点整理 348
13.7小结 348
第14章 空城计:WWW服务器配置 349
14.1 Apache的安装和启动 350
14.2 Apache的全局环境配置 352
14.3 Apache的主服务器配置 355
14.4 Apache的高级管理配置 358
14.4.1访问存取控制 358
14.4.2设置Options命令 359
14.4.3设置Allow Override命令 360
14.4.4设置Order命令 360
14.4.5设置Allow/Deny命令 360
14.4.6用户访问控制 360
14.4.7 MIME类型 362
14.4.8关于CGI脚本 362
14.5使用SSI 363
14.5.1编辑服务器配置文件开启SSI 363
14.5.2创建.htaccess文件启动SSI 364
14.5.3使用SSI 364
14.5.4使用config命令 365
14.5.5使用include命令 365
14.5.6使用echo命令 366
14.5.7使用fsize命令 367
14.5.8使用flastmod命令 367
14.5.9 exec命令 367
14.6虚拟主机 368
14.6.1每个主机名用不同的守护进程来运行 368
14.6.2用一个守护进程支持所有的虚拟主机 368
14.6.3基于主机名的虚拟主机 369
14.7管理日志文件 370
14.7.1错误日志 370
14.7.2访问日志 372
14.8 Web服务器安全——SSL 374
14.9图形化配置工具 376
14.9.1基本配置 376
14.9.2配置虚拟主机 376
14.9.3服务器配置及性能调整 379
14.10本章知识点综合应用 380
14.10.1构建测试环境 380
14.10.2创建虚拟机 383
14.10.3实例说明Apache Web服务器的配置 387
14.10.4本章知识点整理 392
14.11小结 392
第15章 假道伐虢:远程登录管理——Telnet与SSH 393
15.1使用Telnet 394
15.1.1 Telnet登录简介 394
15.1.2 Telnet的工作原理 394
15.1.3安装和启动Telnet 395
15.1.4配置Telnet 396
15.1.5 Telnet的会话示例 397
15.2使用SSH 398
15.2.1 SSH介绍 398
15.2.2安装与启动SSH 399
15.2.3简单测试和使用SSH 400
15.2.4配置“/etc/ssh/ssh_config”文件 401
15.2.5配置“/etc/ssh/sshd_config”文件 402
15.2.6 SSH的密钥管理 404
15.2.7使用scp远程复制文件 405
15.2.8使用SSH设置“加密通道” 406
15.2.9配置SSH的客户端 407
15.2.10配置SSH自动登录 408
15.3本章知识点综合应用 410
15.3.1 Linux SSH安全策略一:关闭无关端口 410
15.3.2 Linux SSH安全策略二:更改SSH端口 410
15.3.3 Linux SSH安全策略三:限制IP登录 411
15.3.4 Linux SSH安全策略四:使用证书登录SSH 413
15.3.5本章知识点整理 414
15.4小结 414
第16章 盘龙吐信:Samba服务器配置 415
16.1 Samba服务器简介及安装 416
16.1.1 Samba的工作原理 416
16.1.2 Samba服务器的功能 416
16.1.3 SMB协议 417
16.1.4安装Samba 417
16.2启动及关闭Samba服务器 418
16.2.1 Samba的命令行启动和关闭 418
16.2.2在System Services中启动和关闭Samba服务 419
16.2.3简单测试Samba服务器 420
16.3配置Samba服务器的用户信息 421
16.3.1创建服务器待认证用户 422
16.3.2将用户信息转换为Samba用户信息 422
16.3.3用户转换 422
16.3.4 Samba服务器和主浏览器 423
16.4 smb.conf配置文件实例详解 423
16.4.1设置工作组 424
16.4.2设置共享Linux账户主目录 424
16.4.3设置公用共享目录 425
16.4.4设置一般共享目录 426
16.4.5设置共享打印机 427
16.4.6打印机配置相关问题 428
16.5一个完整的smb.conf文件实例 429
16.5.1 global段 429
16.5.2 homes段 432
16.5.3 printers段 433
16.5.4 public段 434
16.5.5一般共享段 435
16.5.6 smb.conf文件的更多例子 435
16.5.7该配置在Windows系统下的显示结果 436
16.6 smb.conf中的选项和特定约定 437
16.7测试Samba服务器 441
16.8 Linux和Windows文件互访 442
16.8.1 Windows客户使用Linux系统共享文件 442
16.8.2用smbclient工具访问局域网上的Windows系统 442
16.8.3用smbclient工具访问局域网上的其他系统 443
16.8.4用LinNeighborhood访问局域网上其他系统的共享文件 444
16.9本章知识点综合应用 445
16.9.1 Samba企业实战与应用 445
16.9.2需求分析 446
16.9.3解决方案 446
16.9.4 Samba排错 453
16.9.5本章知识点整理 454
16.10小结 454
第17章 霸王举旗:Proxy服务器配置 455
17.1 Proxy服务器原理简介 456
17.2 Squid简介 457
17.3安装和启动Squid Server 457
17.3.1安装Squid Server 458
17.3.2启动和关闭Squid Server 458
17.4在客户端使用Squid Server 459
17.4.1在IE浏览器中设置 459
17.4.2在Linux浏览器中设置 460
17.5配置Squid Server 461
17.5.1配置Squid Server的基本参数 461
17.5.2配置Squid Server的访问控制 464
17.5.3配置Squid Server的简单实例 467
17.6配置基于Squid的透明代理 468
17.6.1 Linux内核的相关配置 468
17.6.2 Squid的相关配置选项 469
17.6.3 iptables的相关配置 470
17.7配置多级缓存改善Proxy服务器的性能 470
17.7.1多级缓存(Cache)简介 470
17.7.2配置多级缓存 471
17.8 Squid日志管理 472
17.8.1配置文件中有关日志的选项 473
17.8.2日志管理主文件——accesss.conf 474
17.9使用Webalizer对Squid进行流量分析 475
17.9.1 Webalizer的特点 476
17.9.2安装Webalizer 476
17.9.3配置Webalizer 476
17.9.4使用Webalizer 477
17.10小结 479
第18章 蛟龙搅浪:数据库服务器 481
18.1 Linux下数据库系统简介 482
18.2 MySQL数据库系统简介 482
18.3 MySQL数据库系统的安装 482
18.3.1基于源代码包的MySQL安装 482
18.3.2基于RPM包的MySQL安装 485
18.3.3在Red Hat Linux 9添加/删除程序中安装MySQL 485
18.4启动MySQL数据库系统 487
18.4.1建立MySQL的用户组和用户名 487
18.4.2建立MySQL的软链接 487
18.4.3设置用户访问权限 488
18.4.4启动MySQL 488
18.5 MySQL常用操作 489
18.5.1连接MySQL服务器 489
18.5.2退出MySQL服务器 489
18.5.3密码管理 490
18.5.4增加新用户 490
18.5.5命令分行 491
18.5.6命令历史记录 491
18.5.7显示数据库列表 491
18.5.8显示数据库中的数据表 491
18.5.9显示数据表的表结构 491
18.5.10新建数据库 491
18.5.11新建数据库表 492
18.5.12删除库和表 492
18.5.13将表中的记录清空 492
18.5.14显示表中的记录 493
18.5.15向表中插入记录 493
18.5.16 MySQL数据导入和备份 493
18.6在程序中操作MySQL数据库 494
18.7安装Oracle数据库系统 495
18.7.1安装Oracle 10g的硬件条件 495
18.7.2下载Oracle 10g的安装文件 495
18.7.3安装前的准备工作 495
18.7.4安装Oracle 496
18.8测试Oracle数据库系统 497
18.8.1使用svrmgrl测试安装是否成功 497
18.8.2使用sql*plus测试安装是否成功 498
18.9设置Oracle服务自动启动 498
18.10操作Oracle数据库 498
18.10.1创建表空间和创建用户 498
18.10.2删除用户 499
18.10.3修改用户密码 499
18.10.4数据导出 499
18.10.5数据导入 499
18.10.6其他数据操作 499
18.11在程序中操作Oracle数据库 500
18.11.1用C语言操作Oracle数据库 500
18.11.2用PHP语言访问Oracle数据库 503
18.12本章知识点综合应用 507
18.12.1 C语言操作MySQL 507
18.12.2 C语言操作Oracle 509
18.12.3本章知识点整理 513
18.13小结 513