第1章 TCP/IP 基础 1
1.1 基本概念 1
1.1.1 TCP/IP 1
1.1.2 IP 地址和子网 2
1.1.3 网络硬件 4
1.2 地址和路由选择 5
1.2.1 地址解析和路由器 5
1.2.2 地址扩充和伪装 7
1.3 连接和数据传输协议 10
1.3.1 控制和传输协议 10
1.3.2 服务器和应用层协议 11
2.1.1 Unix 和树状文件系统 13
2.1 文件系统 13
第2章 Linux 基础 13
2.1.2 文件类型和文件组织 14
2.1.3 使用文件系统 16
2.1.4 VFS、缓冲和 ext2 17
2.1.5 其他文件系统 18
2.2 系统内核基础 19
2.2.1 什么是内核 19
2.2.2 可加载模块和设备驱动程序 20
2.2.3 内核不做什么 21
2.3 shell 和配置程序 21
2.3.1 命令解释程序 21
2.3.2 不同的 shell 24
2.3.3 配置程序、文档和编辑器 24
2.3.4 定制环境 27
2.4 用户和权限 28
2.4.1 用户、组和文件属性 28
2.4.2 超级用户和 SU 30
2.4.3 setuid 和 setgid 32
2.5 进程和守护 33
2.5.1 进程和作业管理 33
2.5.2 forks 和 exec 35
2.5.3 守护和服务器守护程序 37
2.6 账户管理 39
2.6.1 口令文件 39
2.6.2 账户的添加和删除 40
2.6.3 特殊账户 41
2.7.1 Linux 的内核版本和发行版本 42
2.7 Linux 版本和其他服务器系统 42
2.7.2 其他服务器操作系统 43
第3章 安装 Linux 系统 46
3.1 准备工作 46
3.1.1 获取 Linux 发行版 46
3.1.2 准备服务器硬件 47
3.1.3 准备安装规划 49
3.2 RedHat 的安装过程 51
3.2.1 建立 Linux 引导盘 52
3.2.2 开始系统安装 52
3.3 TurboLinux 中文版安装过程 59
3.3.1 启动 TurboLinux 安装程序 60
3.3.2 TurboLinux 安装过程 60
3.4 S.u.S.E 的安装过程 68
3.5 配置 X Window 72
第4章 系统配置 76
4.1 系统启动流程 76
4.1.1 LILO 和引导内核 76
4.1.2 运行级别和 inittab 80
4.1.3 rc.d 下的基本脚本 82
4.1.4 版本之间的区别 87
4.2 网络配置 87
4.2.1 配置网卡 88
4.2.2 TCP/IP 的启动 89
4.2.3 协议和路由配置 91
4.2.4 配置工具 94
4.2.5 inetd 服务器 97
4.3 定制内核 99
4.3.1 配置系统内核 100
4.3.2 使用新内核 103
4.3.3 从灾难中恢复 104
4.4 使用硬盘 105
4.4.1 为系统安装新的硬盘 105
4.4.2 分区和建立文件系统 106
4.4.3 交换分区 109
4.5 打印机和其他设备 111
4.5.1 配置打印机 111
4.5.2 其他可能的设备 115
4.6 安装应用程序 115
4.6.1 rpm 程序 115
4.6.2 编译应用程序 117
4.6.3 其他 119
第5章 局域网服务器 120
5.1 NFS 和文件/打印服务 120
5.1.1 共享文件系统 120
5.1.2 通过网络进行打印 124
5.2 Samba 服务器 125
5.2.1 在 Windows 环境中集成 Linux 126
5.2.2 swat 程序 133
5.2.3 重新编译 Samba 134
5.2.4 从 Linux 使用 Windows 文件服务 135
5.2.5 WINS 和 NETBIOS 137
5.3 DHCP 138
5.4 NIS 142
5.5.1 r 命令 147
5.5 远程过程调用和 X 客户/服务器 147
5.5.2 X Window 的客户/服务器模式 149
5.5.3 exceed 150
第6章 Intranet 152
6.1 域名系统 152
6.1.1 DNS 的工作模式 152
6.1.2 bind8服务器配置 154
6.2 文件传输服务 160
6.2.1 wu-ftpd 的配置和管理 160
6.2.2 其他服务器 164
6.3 WWW 服务器 164
6.3.1 Apache 服务器 164
6.3.2 目录管理 167
6.3.3 Proxy 系统 169
6.3.4 虚拟主机 171
6.3.5 身份控制 173
6.3.6 重新编译 Apache 和附加产品 175
6.3.7 SuEXEC 和其他 177
6.3.8 高级课题 179
6.3.9 联机手册 181
6.4 BBS 和 MUD 181
6.4.1 BBS 181
6.4.2 文本 MUD 181
第7章 电子邮件 183
7.1 sendmail 和 SMTP 183
7.1.1 SMTP 和邮件传输代理 183
7.1.2 sendmail 的配置 186
7.1.3 sendmail 的相关文件 191
7.1.4 邮件分拣 195
7.1.5 fetchmail 197
7.1.6 测试 sendmail 199
7.2 POP3服务 201
7.2.1 POP3服务 201
7.2.2 安全性和其他问题 203
7.3 管理邮件队列 203
7.4 qmail 204
7.4.1 下载和编译附加文件 205
7.4.2 安装 qmail 205
7.4.3 启动 SMTP 投递代理 207
7.4.4 启动 POP3服务 208
7.5 讨论组 208
7.5.1 NewsGroup 209
7.5.2 邮件列表 213
第8章 路由器和防火墙 215
8.1 核心 IP 转发和 Linux 路由器 215
8.1.1 Linux 的 IP 转发功能 215
8.1.2 Linux 路由器 217
8.1.3 广播路由路径 219
8.2 IP 过滤和代理 219
8.2.1 ipchains 和 IP 过滤 220
8.2.2 NAT 和 IP 代理 225
8.3 基于 ipchains 的防火墙系统 226
8.3.1 防火墙的设计 227
8.3.2 实例说明 228
8.4.1 拨号网络连接 232
8.4 拨号网络连接 232
8.4.2 拨号代理 239
8.4.3 拨号服务器 241
8.5 网络代理程序 244
8.5.1 squid 代理程序 245
8.5.2 socks 5及其使用 248
第9章 管理、维护和排错 250
9.1 启动和关机 250
9.2 系统记录 252
9.2.1 syslog 253
9.2.2 进程记账 256
9.3 硬盘管理 260
9.3.1 磁盘限额 260
9.3.2 回收磁盘空间 265
9.3.3 fsck 程序 267
9.4.1 cron 程序 268
9.4 自动作业程序 268
9.4.2 at 守护进程 271
9.5 备份和恢复 272
9.5.1 tar 程序和数据备份 272
9.5.2 dump、cpio 和其他程序 275
9.5.3 使用软磁盘 276
9.6 网络管理和排错 277
9.6.1 确定网络故障 277
9.6.2 对网络进行监视 279
9.7 账号管理 282
9.8 系统升级和补丁程序 284
9.9.1 性能监视 286
9.9 性能调整 286
9.9.2 调整系统参数 288
9.9.3 服务器的特有问题 290
9.10 负载均衡和其他手段 291
9.10.1 反向代理和 Apache 本身的优化 291
9.10.2 DNS 负载均衡 292
9.10.3 NAT 和集群服务器 294
第10章 安全性问题 295
10.1 安全性问题概述 295
10.1.1 安全性级别 295
10.1.2 你安全吗 297
10.2 访问控制 298
10.2.1 保护你的口令 298
10.2.3 身份认证工具 301
10.2.2 setuid 301
10.3 加密和解密 302
10.4 sniffer 和反措施 306
10.4.1 sniffer 306
10.4.2 ssh 307
10.4.3 SSL 和 HTTPS 协议 309
10.5 扫描器和其他工具 310
10.6 对服务器的远程攻击 312
10.6.1 WWW 和电子邮件的安全性 312
10.6.2 缓冲区溢出 313
10.6.3 core dump 314
10.7 拒绝服务攻击 314
10.8 使用关于安全性的邮件列表 316
11.1.1 TCL 语言 317
第11章 任务的自动化 317
11.1 TCL 和 expect 317
11.1.2 expect 322
11.2 awk 和文件的处理 325
11.2.1 grep 和正则表达式 325
11.2.2 gawk 的使用方法 326
11.3 Perl 333
11.3.1 基本语法 333
11.3.2 Perl 的使用 343
11.4 其他工具 344
附录 A 常用命令和实用程序 345
附录 B joe 使用简介 351
附录 C GNU 通用公共许可证 353
参考文献 358