第1章 Linux与开源文化 1
1.1 什么是Linux 1
1.2 Linux的诞生和发展 1
1.2.1 UNIX、MINIX、GNU和POSIX 1
1.2.2 Linux操作系统的诞生和版本的变迁 2
1.3 Linux的优点 3
1.4 开源文化 3
1.4.1 纯粹的程序员 3
1.4.2 自由软件与开源软件 4
1.4.3 许可证授权 4
1.4.4 Linux和开源文化 5
1.5 小结 5
第2章 安装和卸载Linux 6
2.1 安装前的准备工作 6
2.1.1 硬件需求 6
2.1.2 光盘启动安装 7
2.2 安装Linux 7
2.2.1 引导安装程序 7
2.2.2 选择安装方式 8
2.2.3 选择安装界面语言 9
2.2.4 选择键盘类型 10
2.2.5 鼠标配置 10
2.2.6 选择安装还是升级 11
2.2.7 安装类型 11
2.2.8 磁盘分区设置 12
2.2.9 磁盘自动分区 13
2.2.10 为用户的系统分区 14
2.2.11 引导装载程序配置 15
2.2.12 高级引导装载程序配置 16
2.2.13 网络配置 17
2.2.14 防火墙配置 18
2.2.15 语言支持的选择 20
2.2.16 时区选择 20
2.2.17 设置根口令 21
2.2.18 验证配置 21
2.2.19 选择软件包组 22
2.2.20 准备安装 24
2.2.21 安装软件包 24
2.2.22 创建引导盘 25
2.2.23 显卡配置 25
2.2.24 显示器的配置 26
2.2.25 安装完成 27
2.3 卸载Linux 27
2.4 登录Red Hat Linux 28
2.4.1 设置代理 28
2.4.2 图形化登录 31
2.4.3 虚拟控制台登录 31
2.4.4 远程登录 32
2.4.5 图形化环境 32
2.5 安装Red Hat Linux 9的常见问题处理 32
2.5.1 无法引导Red Hat Linux 33
2.5.2 安装起始部分的问题 34
2.5.3 安装过程中的问题 34
2.5.4 安装后的问题 36
2.5.5 与Windows系统共存 38
2.6 小结 38
第3章 文件和磁盘管理 39
3.1 Linux文件系统入门 39
3.1.1 文件简介 39
3.1.2 目录简介 40
3.1.3 文件系统的结构 40
3.2 文件的基本操作 42
3.2.1 新建和删除文件 42
3.2.2 复制和移动文件 43
3.2.3 查看和创建文件 43
3.3 压缩文件的生成及解压缩 45
3.3.1 以zip创建.zip文件 45
3.3.2 以unzip命令进行.zip文件的解压缩 46
3.3.3 gzip命令的使用 46
3.3.4 文件打包程序tar 46
3.3.5 以compress或uncompress处理.Z文件 47
3.3.6 图形化界面下的压缩与解压缩 47
3.4 设置文件/目录访问权限 48
3.4.1 权限的意义 48
3.4.2 在图形化界面下改变文件/目录的权限 49
3.4.3 使用chmod命令修改文件/目录的访问权限 49
3.4.4 使用命令chown改变文件/目录的所有权 51
3.5 管理磁盘存储器 52
3.5.1 查看系统磁盘使用情况 52
3.5.2 用户磁盘空间管理 52
3.5.3 磁盘分区操作 54
3.5.4 优化Linux系统硬盘 54
3.6 使用光盘 57
3.6.1 光盘驱动器的设备文件 57
3.6.2 挂载和卸载光盘 57
3.6.3 光驱的弹出与关闭 58
3.6.4 制作ISO文件 58
3.6.5 刻录光盘 58
3.7 小结 58
第4章 系统管理 59
4.1 显示设置 59
4.1.1 设置分辨率和色彩深度 59
4.1.2 显示器设置 59
4.1.3 视频卡设置 60
4.1.4 设置桌面 61
4.2 硬件配置 62
4.2.1 配置声卡 62
4.2.2 配置网卡 62
4.3 打印机的安装、配置和管理 64
4.3.1 安装配置打印机 64
4.3.2 修改打印机配置 66
4.3.3 管理打印机 66
4.4 安装软件 67
4.4.1 RPM软件包安装软件 67
4.4.2 代码编译安装软件 68
4.5 用户账号管理 69
4.5.1 设置root账号密码 69
4.5.2 添加修改账号 69
4.5.3 删除用户账号 71
4.5.4 组群的各项操作 71
4.5.5 命令行添加用户 72
4.5.6 查看登录的用户 72
4.6 进程管理 73
4.6.1 用ps获得进程状态 73
4.6.2 终止进程的命令 74
4.6.3 控制进程的优先级 74
4.7 TCP/IP网络基础 74
4.7.1 IP地址 75
4.7.2 子网掩码 75
4.7.3 网关地址 77
4.8 小结 77
第5章 使用办公软件 78
5.1 OpenOffice.org办公软件简介 78
5.1.1 基本概述 78
5.1.2 安装OpenOffice.org 78
5.2 进行文字处理——Linux中的Word 79
5.2.1 文字处理 80
5.2.2 使用表格 81
5.2.3 使用图形 81
5.2.4 使用样式 83
5.2.5 打印文件 83
5.3 数字表格处理——Linux中的Excel 84
5.3.1 设计工作表 84
5.3.2 对工作表进行统计分析 86
5.4 OpenOffice.org Impress——Linux中的PowerPoint 86
5.4.1 制作幻灯片 86
5.4.2 设置动画 88
5.4.3 播放幻灯片 88
5.5 OpenOffice.org Draw——Linux中的Photoshop 89
5.5.1 绘制图形 89
5.5.2 三维化处理 91
5.6 使用Acrobat Reader查看PDF文件 91
5.7 小结 93
第6章 网上冲浪 94
6.1 联网设置 94
6.1.1 互联网配置向导 94
6.1.2 拨号连接 95
6.1.3 局域网连接 96
6.1.4 测试网络连接 97
6.2 浏览网页 98
6.2.1 使用Mozilla浏览器 98
6.2.2 使用Mozilla帮助内容 101
6.2.3 使用Mozilla快捷键 102
6.3 收发E-mail 102
6.3.1 结识Evolution 102
6.3.2 Evolution邮件处理功能 104
6.3.3 Evolution联系人 106
6.3.4 Evolution日程管理 108
6.4 上传与下载工具 109
6.5 网上聊天 112
6.5.1 下载和安装包含QQ插件的Gaim 112
6.5.2 解压安装 112
6.6 小结 112
第7章 多媒体和游戏 113
7.1 播放音频 113
7.1.1 播放CD 113
7.1.2 播放数码音乐文件 113
7.1.3 使用录音机 115
7.1.4 抓轨及编码工具 115
7.2 播放视频 116
7.2.1 使用RealONE Player播放视频 117
7.2.2 使用Xine VCD播放VCD文件 118
7.3 游戏 119
7.3.1 自带游戏 119
7.3.2 其他游戏资源 125
7.4 小结 126
第8章 常见软件设置和硬件配置 127
8.1 设置用户界面 127
8.1.1 KDE桌面系统组成 128
8.1.2 GNOME桌面系统 128
8.1.3 设置文件浏览界面 129
8.1.4 控制中心 132
8.2 安装软件 133
8.2.1 基于源代码的软件安装 134
8.2.2 基于可执行文件的软件安装 134
8.2.3 RPM可执行文件的软件安装 134
8.3 卸载软件 135
8.4 常见硬件的检测 135
8.4.1 中央处理器状态的检测 135
8.4.2 硬盘物理坏道的检测 136
8.4.3 内存的检测 138
8.5 硬件驱动和配置 139
8.5.1 声卡驱动和配置 139
8.5.2 配置X Window及显卡 142
8.5.3 网卡的配置 143
8.5.4 打印机的配置、管理和使用 144
8.6 小结 147
第9章 软件包管理 148
9.1 RPM包管理 148
9.1.1 RPM软件包的查询 148
9.1.2 RPM软件包的安装 150
9.1.3 RPM软件包安装可能出现的问题 151
9.1.4 RPM软件包的卸载 152
9.1.5 RPM软件包的升级 152
9.1.6 RPM软件包的验证 153
9.1.7 Red Hat Linux 9的添加/删除应用程序 154
9.2 RPM软件包的密钥管理 155
9.2.1 下载与安装PGP 155
9.2.2 RPM使用PGP产生签名所需的配置 156
9.2.3 配置RPM宏 157
9.2.4 RPM的PGP签名选项 157
9.2.5 添加数字签名 157
9.3 tar包管理 158
9.3.1 TAR命令语法及参数选项 158
9.3.2 创建tar文件 159
9.3.3 显示tar文件内容 160
9.3.4 向tar文件中添加一个文件 161
9.3.5 从tar文件中取出文件 161
9.4 Linux下常用的压缩工具 162
9.4.1 gzip压缩工具 162
9.4.2 zip/unzip命令 164
9.4.3 bzip2命令 168
9.5 小结 170
第10章 其他常用工具简介 171
10.1 KOffice 171
10.1.1 文字处理工具KWord 172
10.1.2 电子表格处理工具KSpread 174
10.1.3 演示文稿工具KPresenter 175
10.1.4 KOffice其他组件 176
10.2 虚拟计算机VMware 177
10.2.1 VMware功能简介及系统需求 177
10.2.2 安装VMware 178
10.2.3 建立虚拟计算机 178
10.2.4 使用虚拟计算机 179
10.3 远程控制VNC 180
10.3.1 VNC简介 180
10.3.2 使用VNC远程控制计算机 180
10.4 硬件系统优化Powertweak 181
10.4.1 Powertweak简介 181
10.4.2 获得与安装Powertweak 181
10.4.3 使用Powertweak优化硬件系统 181
10.5 小结 181
第11章 shell的使用 182
11.1 创建和执行shell程序 182
11.2 变量 183
11.2.1 给变量赋值 183
11.2.2 访问变量 184
11.3 位置参数 184
11.4 内部变量 185
11.5 特殊字符 185
11.5.1 双引号 186
11.5.2 单引号 186
11.5.3 反斜杠 187
11.5.4 反引号 187
11.6 表达式的比较 187
11.6.1 pdksh和bash 187
11.6.2 tcsh 190
11.7 循环语句 192
11.7.1 for语句 192
11.7.2 while循环语句 193
11.7.3 until语句 194
11.7.4 repeat语句 194
11.7.5 select语句 194
11.7.6 shift语句 195
11.8 条件语句 195
11.8.1 if语句 195
11.8.2 case语句 196
11.9 跳转语句 198
11.9.1 break语句 198
11.9.2 exit语句 199
11.10 函数 199
11.11 小结 200
第12章 Linux下的编程 201
12.1 Linux下常用的开发工具 201
12.1.1 GCC 201
12.1.2 CVS 201
12.1.3 Perl 201
12.1.4 Linux上的Delphi——Kylix工具 202
12.2 Linux下的Vi文本编辑器 202
12.2.1 Vi编辑器介绍 202
12.2.2 启动Vi编辑器 203
12.2.3 显示Vi中的行号 204
12.2.4 光标移动操作 205
12.2.5 屏幕命令 206
12.2.6 文本插入命令 206
12.2.7 附加命令 207
12.2.8 打开命令 207
12.2.9 文本修改命令 208
12.2.10 退出Vi 210
12.3 Linux的C编译器——GCC 211
12.3.1 GCC的编译过程 211
12.3.2 GCC的基本用法和常用选项 211
12.3.3 使用gdb调试C程序 214
12.3.4 编写Makefile文件 218
12.4 Linux下的PHP编程 223
12.4.1 PHP简介 224
12.4.2 配置运行环境 224
12.4.3 一个简单的PHP例子 225
12.5 小结 226
第13章 Linux中的进程管理 227
13.1 Linux进程概述 227
13.2 Linux进程原理 227
13.2.1 Linux进程的状态 227
13.2.2 Linux进程工作模式 228
13.3 Linux守护进程介绍 228
13.3.1 守护进程简介 228
13.3.2 重要守护进程介绍 229
13.4 启动Linux进程 230
13.4.1 手工启动 230
13.4.2 在指定时刻执行命令序列——at命令 230
13.4.3 在资源比较空闲的时候执行命令——batch命令 233
13.4.4 不断重复执行某些命令——cron命令 233
13.4.5 操作cron后台进程的表格——crontab命令 234
13.5 进程的挂起及恢复 236
13.6 Linux进程管理的常用命令 237
13.6.1 使用ps命令查看进程状态 237
13.6.2 使用top命令查看进程状态 239
13.6.3 使用kill命令终止进程 240
13.6.4 使用sleep命令暂停进程 241
13.7 进程文件系统PROC 241
13.8 小结 243
第14章 Linux用户与组管理 245
14.1 用户文件和组文件 245
14.1.1 用户账户文件——passwd 245
14.1.2 用户影子文件——shadow 247
14.1.3 用户组账号文件——/etc/group 248
14.1.4 组账号文件——/etc/gshadow 249
14.1.5 使用pwck和grpck命令验证用户和组文件 250
14.2 管理用户和用户组 252
14.2.1 启动Linux的用户管理器 252
14.2.2 添加新用户 252
14.2.3 编辑用户属性 254
14.2.4 创建用户组 255
14.2.5 修改用户组属性 256
14.3 命令行界面下的用户和组管理 257
14.3.1 使用useradd命令添加用户 257
14.3.2 使用usermod命令修改用户信息 258
14.3.3 使用userdel命令删除用户 258
14.3.4 使用groupadd命令创建用户组 259
14.3.5 使用groupmod命令修改用户组属性 259
14.3.6 使用groupdel命令删除用户组 260
14.4 小结 260
第15章 Linux内核编译与升级 261
15.1 Linux内核编译 261
15.1.1 什么情况下需要重新编译内核 261
15.1.2 下载和编译新内核 261
15.1.3 自动编译和安装 264
15.2 Linux内核重编译常见故障及解决方法 264
15.2.1 内核不能启动 264
15.2.2 异常I/O错误 265
15.2.3 内核反应缓慢 265
15.2.4 内核不能正确编译 265
15.2.5 系统重复启动 265
15.3 Linux内核升级 266
15.3.1 2.4版本的内核 266
15.3.2 准备升级 266
15.3.3 下载已升级的内核 267
15.3.4 执行升级 267
15.3.5 校验初始RAM磁盘映像 268
15.3.6 校验引导装载程序 268
15.4 小结 269
第16章 Proxy服务器配置 270
16.1 代理服务器简介 270
16.1.1 代理服务器的功能 270
16.1.2 Squid代理服务器 270
16.2 获取安装Squid Server 271
16.2.1 获取Squid 271
16.2.2 安装Squid 271
16.3 快速配置Squid Server 272
16.3.1 定义Squid监听HTTP客户连接请求的端口 272
16.3.2 指定Squid可以使用的内存的理想值 272
16.3.3 存储对象的交换空间的大小及其目录结构 273
16.3.4 定义访问控制列表 273
16.3.5 允许或禁止某一类用户访问 274
16.3.6 应用举例 274
16.3.7 启动、停止Squid 275
16.4 客户端的配置 276
16.4.1 Windows系统下IE浏览器的设置 276
16.4.2 Linux系统下Mozilla浏览器的设置 277
16.5 Squid高级配置选项 277
16.5.1 网络选项 277
16.5.2 交换空间设定选项 277
16.5.3 日志选项 278
16.5.4 Squid日志系统的构成 279
16.5.5 access.log日志文件的格式说明 280
16.5.6 外部支持程序的选项 280
16.5.7 用户访问控制选项 281
16.5.8 超时设置选项 282
16.5.9 管理参数选项 283
16.6 小结 283
第17章 Samba服务器配置 284
17.1 Samba Server简介及安装 284
17.2 Samba服务器的图形化配置方法 285
17.3 smb.conf文件详解 288
17.3.1 smb.conf文件中的段 288
17.3.2 指定Samba所要加入的工作组 289
17.3.3 注释说明服务器 289
17.3.4 限制可访问服务器的IP地址的范围 289
17.3.5 定义打印机配置文件 289
17.3.6 设置是否自动加载打印机 289
17.3.7 设定打印机类型 289
17.3.8 设定guest账号匿名登录 290
17.3.9 设定日志文件名及存放路径及大小 290
17.3.10 设置服务器的安全级别 290
17.3.11 设定密码验证级别 290
17.3.12 对密码进行加密设置 291
17.3.13 建立账号映射关系 291
17.3.14 对共享进行描述 292
17.3.15 提供共享服务的路径 292
17.3.16 共享路径及资源配置 292
17.3.17 操作系统级别设置 292
17.3.18 宏描述 293
17.4 Samba服务器4种安全级别 293
17.4.1 share安全级别 293
17.4.2 user安全级别 294
17.4.3 server安全级别 294
17.4.4 domain安全级别 294
17.4.5 share和user安全级的比较 295
17.5 启动、停止和重启Samba服务器 295
17.5.1 图形化界面启动和停止Samba服务器 295
17.5.2 文本方式启动和停止Samba服务器 295
17.6 Samba相关命令和程序 296
17.6.1 Samba相关命令 296
17.6.2 Samba相关程序 298
17.7 设置Samba网络打印机 299
17.8 本机Windows分区和Linux分区资源互访 300
17.8.1 在Linux系统下访问Windows分区 300
17.8.2 在Windows系统下访问Linux分区文件 301
17.9 小结 301
第18章 DNS服务器 302
18.1 域名原理简介 302
18.1.1 DNS的组成 302
18.1.2 DNS的层次结构与域名分配 303
18.1.3 根域 304
18.1.4 顶级域 304
18.1.5 二级域 304
18.2 DNS服务器的安装和配置 305
18.2.1 获取BIND所需的安装文件 305
18.2.2 安装DNS服务器 305
18.2.3 设置/etc/named.conf文件 306
18.2.4 配置解析区文件/var/named/127.0.0 308
18.2.5 配置/var/named/freeing.com.cn文件 308
18.2.6 配置/var/named/202.202.88文件 310
18.2.7 从DNS服务器 310
18.2.8 高速缓存DNS 311
18.3 DNS服务器的运行和测试 312
18.3.1 DNS服务器的运行 312
18.3.2 测试DNS服务器 312
18.4 域名服务器的安全和优化 316
18.4.1 限制BIND运行于虚拟根环境下 316
18.4.2 区带转移 320
18.4.3 允许查询 320
18.4.4 转发限制 320
18.4.5 域名服务器常见问题 321
18.5 小结 321
第19章 邮件服务器 322
19.1 邮件服务器Sendmail简介 322
19.2 邮件服务器的安装和配置 323
19.2.1 安装Sendmail 323
19.2.2 邮件服务器的编译和优化 325
19.2.3 启动Sendmail服务系统 326
19.2.4 配置Sendmail 327
19.2.5 图形模式下使用电子邮件 328
19.3 使用Sendmail服务器 330
19.3.1 建立电子邮件新账号 330
19.3.2 设置别名 331
19.3.3 限制单个用户邮箱容量 331
19.3.4 收取邮件——POP3服务器安装 331
19.3.5 收取邮件——启动POP3服务 332
19.3.6 保证Sendmail的安全 332
19.3.7 Sendmail管理工具 335
19.3.8 Sendmail用户工具 335
19.4 小结 336
第20章 FTP服务器 337
20.1 FTP服务器简介 337
20.2 使用Wu-ftpd服务器 337
20.2.1 使用RPM安装包安装 338
20.2.2 编译安装软件 338
20.3 启动和使用Wu-ftpd服务器 340
20.3.1 xinetd启动方式 340
20.3.2 命令行方式启动 341
20.3.3 使用Wu-ftpd服务器 341
20.4 配置Wu-ftpd服务器 343
20.4.1 配置ftpaccess文件 343
20.4.2 配置ftphosts文件 348
20.4.3 配置/etc/ftpservers文件 348
20.4.4 配置ftpusers文件 349
20.4.5 配置ftpgroups文件 349
20.4.6 配置ftpconversions文件 350
20.5 服务器的运行和测试 350
20.5.1 FTP服务器的启动 351
20.5.2 显示FTP服务器在线人数信息 351
20.5.3 关闭FTP服务器 351
20.5.4 FTP内部命令 351
20.5.5 下载工具wget 353
20.6 小结 354
第21章 WWW服务器 355
21.1 Apache的安装和启动 355
21.1.1 通过Red Hat Linux安装光盘安装升级Apache 355
21.1.2 通过tar.gz压缩包来安装Apache 356
21.1.3 启动Apache服务器 356
21.1.4 开机时随机启动Apache服务器 357
21.1.5 停止Apache服务器 357
21.1.6 重新启动Apache服务器 357
21.2 Apache的全局环境配置 358
21.2.1 定义Apache的配置文件、日志文件和错误记录文件所在目录 358
21.2.2 保存内部服务进程信息 358
21.2.3 记录httpd守护进程的进程号 358
21.2.4 定义客户程序和服务器连接的超时间隔 359
21.2.5 配置持续连接功能 359
21.2.6 限制客户端使用同一个连接进行的请求数量 359
21.2.7 测试多次请求传输之间的时间 359
21.2.8 设置空闲子程序数量 359
21.2.9 设置httpd启动的子进程副本数量 360
21.2.10 设定网站允许的同时在线人数 360
21.2.11 限制每个子进程在中止前所能提出的请求数量 360
21.2.12 指定httpd监控的通信端口 360
21.3 Apache的主服务器配置 360
21.3.1 设置Apache的账号和用户组 360
21.3.2 配置管理员的E-mail地址 360
21.3.3 设置主机的名称 361
21.3.4 UseCanonicalName设置 361
21.3.5 HTML文档存储的主目录 361
21.3.6 定义用户目录的位置 361
21.3.7 配置遇到无法识别的文件类型时的处理方式 361
21.3.8 制定保护目录设置文件的文件名称 362
21.3.9 定义服务器根据文件的内容来判断文件的类型 362
21.3.10 定义是否要记录客户端的IP地址 362
21.3.11 定义错误日志文件存储的位置 362
21.3.12 设置要存入Error_Log文件中的消息等级 362
21.3.13 定义存储在某个目录下的文件是否是脚本 362
21.3.14 定义是否在浏览器中显示文件列表 363
21.3.15 指定图标命令 363
21.3.16 定义服务器遇到哪些文件名时不需列出 364
21.4 Apache的高级管理配置 364
21.4.1 访问存取控制 364
21.4.2 用户访问控制 366
21.4.3 MIME类型 367
21.4.4 关于CGI脚本 368
21.5 使用SSI 368
21.5.1 编辑服务器配置文件开启SSI 368
21.5.2 创建.htaccess文件来启动SSI 369
21.5.3 SSI命令 369
21.6 虚拟主机 372
21.6.1 每个主机名用不同的守护进程来运行 372
21.6.2 用一个守护进程来支持所有的虚拟主机 373
21.6.3 基于主机名的虚拟主机 374
21.7 管理日志文件 375
21.7.1 错误日志 375
21.7.2 文档错误日志 375
21.7.3 CGI错误日志 376
21.7.4 访问日志 376
21.8 Web服务器安全——SSL 378
21.9 图形化配置工具 380
21.9.1 基本配置 380
21.9.2 虚拟主机配置 380
21.9.3 服务器配置及性能调整 383
21.10 小结 384
第22章 数据库服务器 385
22.1 MySQL数据库服务器简介 385
22.2 MySQL数据库服务器的安装 385
22.2.1 软件下载 385
22.2.2 安装MySQL源代码分发 385
22.2.3 安装MySQL RPM包 386
22.3 MySQL数据库服务器的配置和运行 386
22.3.1 更改MySQL数据库目录 386
22.3.2 建立MySQL的用户组和用户名 387
22.3.3 建立MySQL的软链接 387
22.3.4 设置用户访问权限 388
22.3.5 启动MySQL 388
22.3.6 与MySQL数据库连接 389
22.3.7 密码管理 389
22.3.8 创建数据库 390
23.3.9 创建数据表 390
22.3.10 向表中插入数据 391
23.3.11 查询表中的数据 392
22.3.12 更新表中的数据 400
22.3.13 删除表中的数据 400
22.3.14 删除数据表 401
22.3.15 删除数据库 401
22.4 数据库的备份与恢复 401
22.4.1 备份数据库 401
22.4.2 从备份中恢复数据 402
22.5 安装Oracle数据库系统 403
22.5.1 安装Oracle 10g的硬件条件 403
22.5.2 下载Oracle 10g的安装文件 403
22.5.3 安装前的准备工作 404
22.5.4 安装Oracle 404
22.6 测试Oracle数据库系统 405
22.6.1 使用svrmgrl测试安装是否成功 405
22.6.2 使用sql*plus测试安装是否成功 406
22.7 设置Oracle服务自动启动 406
22.8 操作Oracle数据库 406
22.8.1 创建表空间和创建用户 406
22.8.2 删除用户 406
22.8.3 修改用户密码 407
22.8.4 数据导出 407
22.8.5 数据导入 407
22.8.6 其他数据操作 407
22.9 在程序中操作Oracle数据库 407
22.9.1 用C语言操作Oracle数据库 408
22.9.2 用PHP语言访问Oracle数据库 411
22.10 小结 414
第23章 新闻服务器 415
23.1 安装新闻服务器 415
23.1.1 安装软件 416
23.1.2 创建新闻服务器的用户 416
23.1.3 建立目录和文件 416
23.1.4 设置别名 416
23.2 配置服务器 417
23.2.1 设置inn.conf文件 417
23.2.2 设置nnrp.access文件 418
23.2.3 设置hosts.nntp文件 418
23.2.4 设置expire.ctl文件 419
23.2.5 设置passwd.nntp文件 419
23.2.6 设置newsfeeds文件 419
23.2.7 设置active文件 420
23.2.8 新闻组的命名规则 420
23.3 innd的运行、管理和测试 420
23.3.1 启动innd服务器 420
23.3.2 关闭innd服务器 420
23.3.3 添加/删除讨论组 421
23.3.4 新增新闻群组 421
23.3.5 删除新闻群组 421
23.3.6 备份数据 421
23.3.7 检查新闻组日志文件 421
23.4 小结 421
第24章 打印服务器 422
24.1 打印机基础 422
24.1.1 打印机分类 422
24.1.2 喷墨式打印机分类及原理 422
24.1.3 激光式打印机的原理 423
24.1.4 打印机接口 424
24.2 Linux打印过程 425
24.2.1 打印业务工具 425
24.2.2 LPRng打印脱机程序 426
24.2.3 可选择的打印工具 427
24.3 Linux下配置打印机 427
24.3.1 Linux打印系统发展 428
24.3.2 打印机驱动程序查询和安装 429
24.3.3 CUPS打印系统配置与安装 429
24.3.4 配置管理网络打印机 430
24.3.5 打印机管理常用命令 431
24.3.6 图形模式下的打印机配置 432
24.4 其他版本打印 435
24.4.1 Debian的使用 436
24.4.2 SuSE的使用 436
24.4.3 Slackware工具 436
24.5 内核支持 437
24.6 不同类型的打印机端口 437
24.6.1 IP设备驱动程序 437
24.6.2 parport设备 437
24.6.3 RS-232串行接口设备 438
24.6.4 USB设备及远程打印 438
24.7 小结 438
第25章 P2P服务 439
25.1 什么是P2P服务 439
25.2 Linux下的P2P主要协议 439
25.2.1 BitTorrent协议 439
25.2.2 aMule协议 440
25.2.3 Gnutella协议 440
25.3 架设BitTorrent服务器 441
25.3.1 下载安装软件 441
25.3.2 配置并启动BitTorrent 441
25.3.3 制作种子 441
25.3.4 设置Apache服务器 442
25.3.5 重新启动Web服务器并打开防火墙6888端口 442
25.4 Linux下载软件安装与配置 442
25.4.1 安装Java虚拟机 442
25.4.2 安装Azureus客户端软件 443
25.4.3 配置接入互联网的方式 443
25.4.4 配置NAT/Server的端口 444
25.5 其他软件 444
25.5.1 Gtk-Gnutella软件的使用 444
25.5.2 aMule软件的使用 445
25.6 P2P的组网模式分类 445
25.6.1 集中式对等网络 446
25.6.2 分布式对等网络 446
25.6.3 混合P2P 447
25.7 小结 447
第26章 流媒体服务器 448
26.1 流媒体服务器简介 448
26.2 流媒体服务器分类 448
26.2.1 GNUmp3d 448
26.2.2 Darwin 450
26.2.3 Helix 451
26.3 架设流媒体服务器 452
26.3.1 下载并安装服务器 452
26.3.2 运行流媒体服务器 453
26.3.3 服务器的管理配置 453
26.4 流媒体传输协议 453
26.4.1 实时传输协议RTP 453
26.4.2 实时传输控制协议RTCP 454
26.4.3 实时流协议RTSP 455
26.4.4 资源预留协议RSVP 455
26.5 Helix Universal Server服务器配置 456
26.6 Helix流媒体服务器的安全认证 457
26.7 小结 458
第27章 LDAP地址簿服务器 459
27.1 LDAP的含义 459
27.2 为什么要建立LDAP 459
27.3 Linux下LDAP的安装与备份 459
27.3.1 安装LDAP 460
27.3.2 备份LDAP 460
27.3.3 LDAP数据恢复 461
27.4 LDAP目录控制 462
27.4.1 访问控制文件 462
27.4.2 访问控制位置 463
27.4.3 访问控制范围 463
27.4.4 访问权限 463
27.5 LDAP Server和LDAP Browser 463
27.5.1 LDAP Server的使用 463
27.5.2 LDAP Browser的使用 465
27.6 LDAP服务器配置 466
27.6.1 安装Berkely DB 466
27.6.2 配置、编译、安装openldap 470
27.6.3 配置slurpd 471
27.7 LDAP服务器信息配置 472
27.7.1 Base DN的配置 472
27.7.2 管理员DN的配置 473
27.7.3 测试LDAP服务器是否配置 473
27.7.4 LDAP服务器用户数据导出 473
27.7.5 批量导入LDAP用户信息 474
27.7.6 LDAP用户信息管理 474
27.7.7 LDAP认证简单测试 474
27.8 LDAP疑问解答 475
27.8.1 LDAP服务器无法同步问题 475
27.8.2 LDAP导出失败 475
27.8.3 设置实时认证 475
27.8.4 连接超时现象 475
27.9 小结 475
第28章 远程登录管理——Telnet与SSH 476
28.1 使用Telnet 476
28.1.1 Telnet登录简介 476
28.1.2 Telnet原理 476
28.1.3 安装和启动Telnet 477
28.1.4 配置Telnet 478
28.1.5 Telnet的会话示例 479
28.2 使用SSH 479
28.2.1 SSH介绍 480
28.2.2 安装与启动SSH 481
28.2.3 简单测试和使用SSH 481
28.2.4 配置“/etc/ssh/ssh_config”文件 482
28.2.5 配置“/etc/ssh/sshd_config”文件 484
28.2.6 SSH的密匙管理 485
28.2.7 使用scp远程复制文件 486
28.2.8 使用SSH设置“加密通道” 487
28.2.9 配置SSH的客户端 488
28.2.10 配置SSH自动登录 489
28.3 小结 491
第29章 Linux网络安全 492
29.1 Linux网络安全简单介绍 492
29.1.1 保证Linux安全所需的知识 492
29.1.2 Linux系统中常见的病毒类型 492
29.2 Linux网络安全的常见防范策略 493
29.2.1 检测日志文件 493
29.2.2 检查suid的执行 495
29.2.3 设置内部用户权限 495
29.2.4 保护口令文件安全(/etc/shadow) 496
29.3 Linux中的常见网络攻击 496
29.3.1 收集信息攻击 497
29.3.2 Sniffer的工作原理 497
29.3.3 Sniffer监测的数据信息 497
29.3.4 Sniffer的工作环境 498
29.3.5 如何发现Sniffer 498
29.3.6 如何防御Sniffer 498
29.4 使用防火墙技术 499
29.4.1 使用netfilter/iptables防火墙框架 499
29.4.2 安装netfilter/iptables系统 499
29.4.3 使用iptables的过滤规则 500
29.5 对Linux系统进行入侵检测 502
29.5.1 入侵检测系统基础知识 502
29.5.2 Snort介绍 503
29.5.3 安装Snort 503
29.5.4 Snort的常见命令简介 504
29.5.5 查看ICMP数据报文 505
29.5.6 配置Snort的输出方式 506
29.5.7 配置Snort规则 507
29.5.8 编写Snort规则 509
29.5.9 使用Snort对PHPUpload溢出攻击进行检测 511
29.5.10 使用Snort对SNMP口令溢出漏洞进行检测 512
29.6 使用Tripwire保护数据安全 512
29.6.1 Tripwire简介 512
29.6.2 Tripwire的工作原理 513
29.6.3 使用Tripwire 513
29.7 小结 515
附录A shell命令 516
附录B Vi命令 523
附录C 自己做Linux(LFS) 529
附录D Linux社区 531