-
?Linux系统管理员手册》
资源介绍
目 录
前言
第一部分 安装Linux操作系统
作为服务器软件
第1章 Linux发行版本与Windows NT的
技术异同 1
1.1 Linux操作系统和Linux发行版本 1
1.2 “*”软件和GNU许可证 1
1.2.1 什么是GNU公共许可证 2
1.2.2 “*”软件的优势 2
1.3 NT和Linux操作系统的主要差异 3
1.3.1 单用户、多用户、网络用户情况的
比较 3
1.3.2 GUI图形界面与操作系统内核的彼
此相对独立 4
1.3.3 Windows中的“网络邻居”概念 5
1.3.4 Windows中的注册表文件与文本文
件的比较 6
1.3.5 域的概念 6
1.4 小结 7
第2章 按服务器配置安装Linux 8
2.1 安装之前 8
2.1.1 硬件设备 8
2.1.2 服务器主机的规划 9
2.1.3 双引导系统 10
2.1.4 安装方式 11
2.1.5 安装后可能面临的问题 11
2.2 安装Red Hat Linux操作系统 12
2.2.1 制作一张引导盘 12
2.2.2 开始安装 12
2.3 小结 28
第3章 GNOME和KDE桌面环境 29
3.1 X-Windows的历史 29
3.1.1 X-Windows的不足之处 30
3.1.2 进入GNOME和KDE 30
3.1.3 GNOME和KDE并非完全不兼容意味
着什么 31
3.2 关于KDE桌面环境 31
3.2.1 许可证问题 32
3.2.2 启动X-Windows和KDE 32
3.2.3 KDE的基本元素 33
3.2.4 KDE的控制中心 33
3.3 关于GNOME桌面环境 39
3.3.1 启动X-Windows和GNOME 39
3.3.2 GNOME的基本元素 40
3.3.3 GNOME的配置工具 41
3.4 小结 44
第4章 安装软件 46
4.1 Red Hat Package Manager软件包管理
工具软件 46
4.1.1 安装新的软件包 47
4.1.2 查询软件包 48
4.1.3 反安装(清除)软件包 48
4.1.4 gnorpm工具 48
4.2 自行编译软件 48
4.2.1 获得并解压缩新的软件包 49
4.2.2 查找软件包中的有关文档 49
4.2.3 配置新软件包 50
4.2.4 编译新软件包 50
4.2.5 安装新软件包 51
4.2.6 安装完成后的清理工作 51
4.3 小结 52
第二部分 单主机系统的管理
第5章 用户的管理 53
5.1 关于用户 53
5.1.1 用户登录子目录 54
5.1.2 口令 54
5.1.3 shell 55
5.1.4 启动上机脚本程序 55
5.1.5 电子邮件 56
5.2 用户数据库 56
5.2.1 /etc/passwd文件 56
5.2.2 /etc/shadow文件 58
5.2.3 /etc/group文件 58
5.3 用户管理工具 59
5.3.1 使用命令行进行用户管理 59
5.3.2 使用LinuxConf进行用户管理 62
5.4 SetUID和SetGID程序 66
5.5 如果没有文件的所有权 67
5.6 小结 67
第6章 命令行 68
6.1 BASH简介 68
6.1.1 作业控制 69
6.1.2 环境变量 69
6.1.3 管道 70
6.1.4 重定向 70
6.1.5 BASH的命令行快捷键 71
6.2 文档工具 72
6.2.1 man命令 72
6.2.2 texinfo系统 73
6.3 文件列表、所有权和访问权限 74
6.3.1 列出文件清单命令ls 74
6.3.2 文件和子目录类型 74
6.3.3 改变文件的所有权命令chown 76
6.3.4 改变用户分组命令chgrp 76
6.3.5 改变文件属性命令chmod 76
6.4 文件管理和操作 77
6.4.1 拷贝文件命令cp 77
6.4.2 移动文件命令mv 78
6.4.3 链接文件:ln命令 78
6.4.4 查找文件命令find 78
6.4.5 转换并拷贝文件命令dd 79
6.4.6 文件压缩命令gzip 80
6.4.7 建立子目录命令mkdir 81
6.4.8 删除子目录命令rmdir 81
6.4.9 显示当前工作子目录命令pwd 81
6.4.10 磁带文件归档命令tar 81
6.4.11 合并文件命令cat 82
6.4.12 分屏显示文件命令more 83
6.4.13 磁盘操作工具命令du 83
6.4.14 查找文件保存在哪个子目录里命
令which 83
6.4.15 查找命令的保存位置命令whereis 83
6.4.16 释放磁盘空间命令df 84
6.4.17 同步磁盘命令sync 84
6.5 进程管理 84
6.5.1 列出进程清单命令ps 84
6.5.2 交互列出进程清单命令top 86
6.5.3 向某个进程发送消息命令kill 87
6.6 其他工具 88
6.6.1 显示系统名称命令uname 88
6.6.2 查看用户命令who 88
6.6.3 改变用户身份命令su 89
6.6.4 编辑器程序 89
6.7 小结 90
第7章 开机和关机 91
7.1 LILO 91
7.2 配置LILO 91
7.2.1 附加的LILO参数 93
7.2.2 添加引导用的新内核 94
7.3 运行LILO 95
7.4 开机引导的步骤 95
7.4.1 rc命令脚本程序 96
7.4.2 编写自己的rc命令脚本程序 97
7.4.3 激活或者禁止服务项目 99
7.5 小结 100
第8章 文件系统 101
8.1 文件系统的构成 101
8.1.1 i-结点 101
8.1.2 超级块 102
8.2 管理文件系统 102
8.2.1 挂装和卸载本地磁盘 102
8.2.2 使用fsck程序 105
8.3 对硬盘进行分区 107
8.3.1 硬盘的表示方法 107
8.3.2 建立硬盘分区 107
8.3.3 建立文件系统 112
8.4 网络文件系统 113
8.4.1 挂装NFS分区 113
8.4.2 使用Automounter自动挂装子系统 114
8.5 硬盘空间配额的管理 115
8.5.1 实现配额管理的准备工作 116
8.5.2 设置配额 117
8.5.3 管理配额 119
8.6 小结 120
第9章 核心级系统服务 121
9.1 init服务 121
9.1.1 /etc/inittab文件 121
9.1.2 telinit命令 122
9.2 inetd进程 123
9.2.1 etc/inetd.conf文件 123
9.2.2 安全性与inetd.conf文件 124
9.3 syslogd守护进程 125
9.3.1 调用syslogd 125
9.3.2 /etc/syslog.conf文件 126
9.4 cron程序 129
9.5 小结 130
第10章 编译Linux内核 131
10.1 内核到底是什么 131
10.2 获取内核源代码 132
10.2.1 选择正确的版本 133
10.2.2 解压缩内核源代码 133
10.3 建立内核 134
10.3.1 make xconfig过程 135
10.3.2 内核功能与模块 136
10.3.3 编译内核 140
10.4 安装内核 140
10.5 给内核打补丁 142
10.5.1 下载并解包补丁文件 142
10.5.2 打补丁 143
10.6 小结 144
第11章 提高单个服务器的安全性 145
11.1 TCP/IP与网络安全 145
11.2 追踪服务 146
11.2.1 使用netstat命令 146
11.2.2 netstat命令输出与系统的安全性 148
11.2.3 关闭服务 148
11.3 监控系统 149
11.3.1 挖掘syslog命令潜力 150
11.3.2 使用MRTG监控带宽 151
11.3.3 COPS 151
11.3.4 TripWire 151
11.3.5 SATAN 151
11.4 Web求助站点和邮件表 152
11.4.1 CERT 152
11.4.2 BugTraq 152
11.4.3 Rootshell 152
11.4.4 Security Focus 152
11.5 其他 153
第三部分 Internet网络服务
第12章 DNS域名解析服务 155
12.1 DNS前身:/etc/hosts文件 156
12.2 DNS的组成部分 157
12.2.1 域和主机 157
12.2.2 子域 158
12.2.3 in-addr.arpa域 159
12.2.4 服务器类型 160
12.3 安装DNS服务器 160
12.3.1 下载、解包和阅读有关资料 161
12.3.2 编译BIND 162
12.4 配置客户 163
12.5 配置服务器 171
12.5.1 修改/etc/named.conf文件以配置一个
主区域 172
12.5.2 修改/etc/named.conf文件以配置一个
从区域 173
12.5.3 修改/etc/named.conf文件以配置一个
缓冲区域 173
12.5.4 DNS记录类型 174
12.6 组装各部分 177
12.7 DNS工具箱 182
12.7.1 nslookup 182
12.7.2 dig 183
12.7.3 whois 183
12.7.4 其他参考资料 184
12.8 小结 184
第13章 FTP 192
13.1 FTP的基本原理 192
13.2 获得最新版本的wu-ftpd软件 193
13.2.1 阅读README文件 193
13.2.2 编译并安装wu-ftpd软件 194
13.3 配置wu-ftpd软件 195
13.3.1 通过/etc/ftpaccess文件控制访问
权限 195
13.3.2 系统日志文件 203
13.3.3 即时文件转换 204
13.3.4 配置主机访问权限 205
13.4 套接字配置 205
13.4.1 匿名用户访问 205
13.4.2 注册用户访问和混合式访问 209
13.5 配置虚拟FTP服务器 210
13.6 小结 211
第14章 使用Apache设置Web服务器 212
14.1 HTTP协议的基本原理 212
14.1.1 标题 212
14.1.2 非标准端口 213
14.1.3 进程所有者 214
14.2 安装Apache HTTP服务器 214
14.2.1 编译Apache软件 215
14.2.2 启动和终止Apache软件 216
14.2.3 测试Apache软件 217
14.3 配置Apache软件 217
14.3.1 建立一个简单的*主页 217
14.3.2 Apache软件的配置文件 218
14.3.3 常见配置修改情况 218
14.4 小结 219
第15章 SMTP 220
15.1 SMTP的基本原理 220
15.1.1 SMTP的基本实现过程 220
15.1.2 安全性 222
15.1.3 SMTP和POP的比较 223
15.1.4 推荐参考书 223
15.2 获得并安装Sendmail软件 224
15.2.1 下载Sendmail软件 224
15.2.2 编译Sendmail软件 224
15.3 通过MC文件配置Sendmail软件 225
15.3.1 配置Sendmail软件需要的M4语言
知识 226
15.3.2 Sendmail软件使用的宏命令 228
15.3.3 一个完整的配置示例 235
15.3.4 把宏命令编译到配置文件里 235
15.4 安装Sendmail软件 235
15.5 主配置文件以外的其他配置文件 236
15.5.1 aliases文件 236
15.5.2 “access”(访问权限)数据库 237
15.6 Sendmail运行中的问题 238
15.6.1 mailq命令 239
15.6.2 Sendmail在运行吗 239
15.6.3 Sendmail把它的队列和缓冲池保存
在什么地方 240
15.6.4 怎样从队列里删除一个项目 240
15.6.5 加速处理邮件队列 241
15.6.6 对电子邮件进行系统记录 241
15.7 小结 242
第16章 POP 243
16.1 POP的基本原理 243
16.1.1 使用telnet阅读邮件 244
16.1.2 POP和其他协议之间的冲突 246
16.2 Qpopper软件 246
16.2.1 安装Qpopper软件 246
16.2.2 编译Qpopper软件 247
16.2.3 设置Qpopper软件 248
16.2.4 测试 249
16.3 Qpopper软件的高级配置操作 250
16.3.1 服务器工作模式 250
16.3.2 特殊身份验证功能 250
16.3.3 带身份验证加强功能的POP 250
16.3.4 公告板 251
16.3.5 Qpopper软件的命令行参数 252
16.4 小结 253
第17章 SSH 254
17.1 公共密钥密码学 254
17.2 SSH的版本及其发行版本 256
17.2.1 SSH的版本 257
17.2.2 SSH客户软件的其他供货商 257
17.3 下载、编译和安装SSH软件包 258
17.3.1 编译SSH的版本1软件包 258
17.3.2 编译SSH的版本2软件包 259
17.4 配置SSH软件包 260
17.4.1 配置SSH2和SSH1同时运行 260
17.4.2 服务器的启动和关闭 260
17.4.3 配置客户的密钥交换功能 261
17.5 与SSH软件包有关的应用程序 262
17.6 小结 262
第四部分 内部网(Intranet)网络服务
第18章 网络文件系统(NFS) 265
18.1 NFS的基本原理 265
18.1.1 挂装和存取硬盘分区 265
18.1.2 NFS的安全性 266
18.1.3 NFS的版本 266
18.2 激活NFS 266
18.2.1 NFS的组件 267
18.2.2 NFS的内核支持 267
18.3 配置NFS服务器 268
18.3.1 /etc/exports配置文件 268
18.3.2 通知NFS服务器进程/etc/exports
文件中的改动 269
18.3.3 常见问题 269
18.4 配置NFS客户 269
18.5 NFS分区常见用途 271
18.6 检查并排除NFS故障 271
18.6.1 孤立失效的文件句柄 272
18.6.2 拒绝访问 272
18.6.3 硬、软挂装的比较 272
18.7 小结 273
第19章 网络信息服务(NIS) 274
19.1 NIS的基本原理 274
19.1.1 NIS服务器 275
19.1.2 “域”的概念 275
19.2 配置主控NIS服务器 276
19.2.1 建立域名 276
19.2.2 启动NIS 276
19.2.3 编辑Makefile文件 276
19.2.4 使用ypinit命令 279
19.3 配置NIS客户 280
19.3.1 编辑/etc/yp.conf文件 280
19.3.2 设置启动脚本程序 281
19.3.3 /etc/nsswitch.conf文件 281
19.3.4 测试NIS客户的配置情况 282
19.4 配置附属NIS服务器 282
19.4.1 设置域名 282
19.4.2 设置NIS主控服务器对辅助NIS服务
器的推操作 283
19.4.3 执行ypinit命令 283
19.5 NIS软件工具 284
19.6 在配置文件里使用NIS 284
19.7 在一个现实网络里实现NIS 285
19.7.1 小型网络 285
19.7.2 带分支的网络 286
19.7.3 规模大过建筑物的网络 286
19.8 小结 287
第20章 Samba服务 288
20.1 SMB服务的基本原理 288
20.1.1 用户名和口令 288
20.1.2 加密口令 289
20.1.3 守护进程smbd和nmbd之间的区别 289
20.1.4 编译并安装Samba 289
20.1.5 设置SWAT工具 291
20.2 Samba的系统管理 292
20.3 使用SWAT工具 292
20.3.1 SWAT软件的菜单 293
20.3.2 建立共享关系 295
20.4 使用smbclient程序 296
20.4.1 浏览服务器 297
20.4.2 远程文件访问 297
20.4.3 远程打印机访问 298
20.5 使用smbmount命令 298
20.6 对加密口令功能的支持 299
20.6.1 允许使用NULL口令 299
20.6.2 使用smbpasswd命令修改口令 299
20.7 检查并排除Samba故障 300
20.8 小结 300
第21章 打印服务 301
21.1 lpd守护进程的基础知识 301
21.1.1 启动lpd守护进程 302
21.1.2 允许远程用户 302
21.2 配置/etc/printcap文件 302
21.2.1 /etc/printcap文件中的命令 303
21.2.2 使用Samba服务打印 304
21.2.3 让修改生效 305
21.3 lpd的客户 305
21.3.1 lpr 305
21.3.2 lprm 306
21.3.3 lpq 306
21.4 小结 306
第22章 动态主机配置协议(DHCP) 308
22.1 DHCP协议的基本原理 308
22.2 DHCP服务器 309
22.2.1 下载、编译和安装DHCP服务器 309
22.2.2 配置DHCP服务器 309
22.2.3 dhcpd.conf文件示例 314
22.2.4 正常运行情况 315
22.3 DHCP客户守护进程 315
22.3.1 下载、编译和安装DHCP客户 315
22.3.2 配置DHCP客户 315
22.4 小结 316
第23章 备份 317
23.1 评估自己的备份需求 317
23.2 管理备份设备和文件 318
23.2.1 使用mknod命令建立设备文件 319
23.2.2 使用mt命令操作磁带设备 319
23.3 命令行工具程序 320
23.3.1 dump命令和restore命令 320
23.3.2 tar命令 323
23.4 小结 324
第五部分 Linux操作系统的高级网络功能
第24章 网络配置 325
24.1 网络基本知识 325
24.1.1 IP地址 325
24.1.2 CIDR技术 327
24.2 模块和网络接口卡 327
24.3 ifconfig程序 328
24.3.1 简单用法 328
24.3.2 其他参数 330
24.4 使用route命令 331
24.4.1 简单用法 332
24.4.2 显示路由 332
24.5 小结 334
第25章 Linux操作系统的高级网络功能 335
25.1 IP假名技术 335
25.2 数据包过滤 336
25.2.1 数据包过滤的实现 337
25.2.2 ipchains工具软件 339
25.2.3 几种解决方案 345
25.3 IP地址欺诈技术 348
25.3.1 IP欺诈的三语句解决方案 349
25.3.2 地址欺诈代理 350
25.4 小结 351
第26章 /proc文件系统 352
26.1 /proc文件里有些什么东西 352
26.2 部分有用的/proc数据项 353
26.3 通过/proc实现的常见报告和设置 355
26.3.1 对SYN Flood攻击现象的防护 355
26.3.2 大容量服务器的问题 355
26.3.3 调试硬件冲突 356
26.4 小结 356
附录A Red Hat Linux发行版本中的程序
设计语言 357
附录B Linux操作系统中的常用软件 360
前言
第一部分 安装Linux操作系统
作为服务器软件
第1章 Linux发行版本与Windows NT的
技术异同 1
1.1 Linux操作系统和Linux发行版本 1
1.2 “*”软件和GNU许可证 1
1.2.1 什么是GNU公共许可证 2
1.2.2 “*”软件的优势 2
1.3 NT和Linux操作系统的主要差异 3
1.3.1 单用户、多用户、网络用户情况的
比较 3
1.3.2 GUI图形界面与操作系统内核的彼
此相对独立 4
1.3.3 Windows中的“网络邻居”概念 5
1.3.4 Windows中的注册表文件与文本文
件的比较 6
1.3.5 域的概念 6
1.4 小结 7
第2章 按服务器配置安装Linux 8
2.1 安装之前 8
2.1.1 硬件设备 8
2.1.2 服务器主机的规划 9
2.1.3 双引导系统 10
2.1.4 安装方式 11
2.1.5 安装后可能面临的问题 11
2.2 安装Red Hat Linux操作系统 12
2.2.1 制作一张引导盘 12
2.2.2 开始安装 12
2.3 小结 28
第3章 GNOME和KDE桌面环境 29
3.1 X-Windows的历史 29
3.1.1 X-Windows的不足之处 30
3.1.2 进入GNOME和KDE 30
3.1.3 GNOME和KDE并非完全不兼容意味
着什么 31
3.2 关于KDE桌面环境 31
3.2.1 许可证问题 32
3.2.2 启动X-Windows和KDE 32
3.2.3 KDE的基本元素 33
3.2.4 KDE的控制中心 33
3.3 关于GNOME桌面环境 39
3.3.1 启动X-Windows和GNOME 39
3.3.2 GNOME的基本元素 40
3.3.3 GNOME的配置工具 41
3.4 小结 44
第4章 安装软件 46
4.1 Red Hat Package Manager软件包管理
工具软件 46
4.1.1 安装新的软件包 47
4.1.2 查询软件包 48
4.1.3 反安装(清除)软件包 48
4.1.4 gnorpm工具 48
4.2 自行编译软件 48
4.2.1 获得并解压缩新的软件包 49
4.2.2 查找软件包中的有关文档 49
4.2.3 配置新软件包 50
4.2.4 编译新软件包 50
4.2.5 安装新软件包 51
4.2.6 安装完成后的清理工作 51
4.3 小结 52
第二部分 单主机系统的管理
第5章 用户的管理 53
5.1 关于用户 53
5.1.1 用户登录子目录 54
5.1.2 口令 54
5.1.3 shell 55
5.1.4 启动上机脚本程序 55
5.1.5 电子邮件 56
5.2 用户数据库 56
5.2.1 /etc/passwd文件 56
5.2.2 /etc/shadow文件 58
5.2.3 /etc/group文件 58
5.3 用户管理工具 59
5.3.1 使用命令行进行用户管理 59
5.3.2 使用LinuxConf进行用户管理 62
5.4 SetUID和SetGID程序 66
5.5 如果没有文件的所有权 67
5.6 小结 67
第6章 命令行 68
6.1 BASH简介 68
6.1.1 作业控制 69
6.1.2 环境变量 69
6.1.3 管道 70
6.1.4 重定向 70
6.1.5 BASH的命令行快捷键 71
6.2 文档工具 72
6.2.1 man命令 72
6.2.2 texinfo系统 73
6.3 文件列表、所有权和访问权限 74
6.3.1 列出文件清单命令ls 74
6.3.2 文件和子目录类型 74
6.3.3 改变文件的所有权命令chown 76
6.3.4 改变用户分组命令chgrp 76
6.3.5 改变文件属性命令chmod 76
6.4 文件管理和操作 77
6.4.1 拷贝文件命令cp 77
6.4.2 移动文件命令mv 78
6.4.3 链接文件:ln命令 78
6.4.4 查找文件命令find 78
6.4.5 转换并拷贝文件命令dd 79
6.4.6 文件压缩命令gzip 80
6.4.7 建立子目录命令mkdir 81
6.4.8 删除子目录命令rmdir 81
6.4.9 显示当前工作子目录命令pwd 81
6.4.10 磁带文件归档命令tar 81
6.4.11 合并文件命令cat 82
6.4.12 分屏显示文件命令more 83
6.4.13 磁盘操作工具命令du 83
6.4.14 查找文件保存在哪个子目录里命
令which 83
6.4.15 查找命令的保存位置命令whereis 83
6.4.16 释放磁盘空间命令df 84
6.4.17 同步磁盘命令sync 84
6.5 进程管理 84
6.5.1 列出进程清单命令ps 84
6.5.2 交互列出进程清单命令top 86
6.5.3 向某个进程发送消息命令kill 87
6.6 其他工具 88
6.6.1 显示系统名称命令uname 88
6.6.2 查看用户命令who 88
6.6.3 改变用户身份命令su 89
6.6.4 编辑器程序 89
6.7 小结 90
第7章 开机和关机 91
7.1 LILO 91
7.2 配置LILO 91
7.2.1 附加的LILO参数 93
7.2.2 添加引导用的新内核 94
7.3 运行LILO 95
7.4 开机引导的步骤 95
7.4.1 rc命令脚本程序 96
7.4.2 编写自己的rc命令脚本程序 97
7.4.3 激活或者禁止服务项目 99
7.5 小结 100
第8章 文件系统 101
8.1 文件系统的构成 101
8.1.1 i-结点 101
8.1.2 超级块 102
8.2 管理文件系统 102
8.2.1 挂装和卸载本地磁盘 102
8.2.2 使用fsck程序 105
8.3 对硬盘进行分区 107
8.3.1 硬盘的表示方法 107
8.3.2 建立硬盘分区 107
8.3.3 建立文件系统 112
8.4 网络文件系统 113
8.4.1 挂装NFS分区 113
8.4.2 使用Automounter自动挂装子系统 114
8.5 硬盘空间配额的管理 115
8.5.1 实现配额管理的准备工作 116
8.5.2 设置配额 117
8.5.3 管理配额 119
8.6 小结 120
第9章 核心级系统服务 121
9.1 init服务 121
9.1.1 /etc/inittab文件 121
9.1.2 telinit命令 122
9.2 inetd进程 123
9.2.1 etc/inetd.conf文件 123
9.2.2 安全性与inetd.conf文件 124
9.3 syslogd守护进程 125
9.3.1 调用syslogd 125
9.3.2 /etc/syslog.conf文件 126
9.4 cron程序 129
9.5 小结 130
第10章 编译Linux内核 131
10.1 内核到底是什么 131
10.2 获取内核源代码 132
10.2.1 选择正确的版本 133
10.2.2 解压缩内核源代码 133
10.3 建立内核 134
10.3.1 make xconfig过程 135
10.3.2 内核功能与模块 136
10.3.3 编译内核 140
10.4 安装内核 140
10.5 给内核打补丁 142
10.5.1 下载并解包补丁文件 142
10.5.2 打补丁 143
10.6 小结 144
第11章 提高单个服务器的安全性 145
11.1 TCP/IP与网络安全 145
11.2 追踪服务 146
11.2.1 使用netstat命令 146
11.2.2 netstat命令输出与系统的安全性 148
11.2.3 关闭服务 148
11.3 监控系统 149
11.3.1 挖掘syslog命令潜力 150
11.3.2 使用MRTG监控带宽 151
11.3.3 COPS 151
11.3.4 TripWire 151
11.3.5 SATAN 151
11.4 Web求助站点和邮件表 152
11.4.1 CERT 152
11.4.2 BugTraq 152
11.4.3 Rootshell 152
11.4.4 Security Focus 152
11.5 其他 153
第三部分 Internet网络服务
第12章 DNS域名解析服务 155
12.1 DNS前身:/etc/hosts文件 156
12.2 DNS的组成部分 157
12.2.1 域和主机 157
12.2.2 子域 158
12.2.3 in-addr.arpa域 159
12.2.4 服务器类型 160
12.3 安装DNS服务器 160
12.3.1 下载、解包和阅读有关资料 161
12.3.2 编译BIND 162
12.4 配置客户 163
12.5 配置服务器 171
12.5.1 修改/etc/named.conf文件以配置一个
主区域 172
12.5.2 修改/etc/named.conf文件以配置一个
从区域 173
12.5.3 修改/etc/named.conf文件以配置一个
缓冲区域 173
12.5.4 DNS记录类型 174
12.6 组装各部分 177
12.7 DNS工具箱 182
12.7.1 nslookup 182
12.7.2 dig 183
12.7.3 whois 183
12.7.4 其他参考资料 184
12.8 小结 184
第13章 FTP 192
13.1 FTP的基本原理 192
13.2 获得最新版本的wu-ftpd软件 193
13.2.1 阅读README文件 193
13.2.2 编译并安装wu-ftpd软件 194
13.3 配置wu-ftpd软件 195
13.3.1 通过/etc/ftpaccess文件控制访问
权限 195
13.3.2 系统日志文件 203
13.3.3 即时文件转换 204
13.3.4 配置主机访问权限 205
13.4 套接字配置 205
13.4.1 匿名用户访问 205
13.4.2 注册用户访问和混合式访问 209
13.5 配置虚拟FTP服务器 210
13.6 小结 211
第14章 使用Apache设置Web服务器 212
14.1 HTTP协议的基本原理 212
14.1.1 标题 212
14.1.2 非标准端口 213
14.1.3 进程所有者 214
14.2 安装Apache HTTP服务器 214
14.2.1 编译Apache软件 215
14.2.2 启动和终止Apache软件 216
14.2.3 测试Apache软件 217
14.3 配置Apache软件 217
14.3.1 建立一个简单的*主页 217
14.3.2 Apache软件的配置文件 218
14.3.3 常见配置修改情况 218
14.4 小结 219
第15章 SMTP 220
15.1 SMTP的基本原理 220
15.1.1 SMTP的基本实现过程 220
15.1.2 安全性 222
15.1.3 SMTP和POP的比较 223
15.1.4 推荐参考书 223
15.2 获得并安装Sendmail软件 224
15.2.1 下载Sendmail软件 224
15.2.2 编译Sendmail软件 224
15.3 通过MC文件配置Sendmail软件 225
15.3.1 配置Sendmail软件需要的M4语言
知识 226
15.3.2 Sendmail软件使用的宏命令 228
15.3.3 一个完整的配置示例 235
15.3.4 把宏命令编译到配置文件里 235
15.4 安装Sendmail软件 235
15.5 主配置文件以外的其他配置文件 236
15.5.1 aliases文件 236
15.5.2 “access”(访问权限)数据库 237
15.6 Sendmail运行中的问题 238
15.6.1 mailq命令 239
15.6.2 Sendmail在运行吗 239
15.6.3 Sendmail把它的队列和缓冲池保存
在什么地方 240
15.6.4 怎样从队列里删除一个项目 240
15.6.5 加速处理邮件队列 241
15.6.6 对电子邮件进行系统记录 241
15.7 小结 242
第16章 POP 243
16.1 POP的基本原理 243
16.1.1 使用telnet阅读邮件 244
16.1.2 POP和其他协议之间的冲突 246
16.2 Qpopper软件 246
16.2.1 安装Qpopper软件 246
16.2.2 编译Qpopper软件 247
16.2.3 设置Qpopper软件 248
16.2.4 测试 249
16.3 Qpopper软件的高级配置操作 250
16.3.1 服务器工作模式 250
16.3.2 特殊身份验证功能 250
16.3.3 带身份验证加强功能的POP 250
16.3.4 公告板 251
16.3.5 Qpopper软件的命令行参数 252
16.4 小结 253
第17章 SSH 254
17.1 公共密钥密码学 254
17.2 SSH的版本及其发行版本 256
17.2.1 SSH的版本 257
17.2.2 SSH客户软件的其他供货商 257
17.3 下载、编译和安装SSH软件包 258
17.3.1 编译SSH的版本1软件包 258
17.3.2 编译SSH的版本2软件包 259
17.4 配置SSH软件包 260
17.4.1 配置SSH2和SSH1同时运行 260
17.4.2 服务器的启动和关闭 260
17.4.3 配置客户的密钥交换功能 261
17.5 与SSH软件包有关的应用程序 262
17.6 小结 262
第四部分 内部网(Intranet)网络服务
第18章 网络文件系统(NFS) 265
18.1 NFS的基本原理 265
18.1.1 挂装和存取硬盘分区 265
18.1.2 NFS的安全性 266
18.1.3 NFS的版本 266
18.2 激活NFS 266
18.2.1 NFS的组件 267
18.2.2 NFS的内核支持 267
18.3 配置NFS服务器 268
18.3.1 /etc/exports配置文件 268
18.3.2 通知NFS服务器进程/etc/exports
文件中的改动 269
18.3.3 常见问题 269
18.4 配置NFS客户 269
18.5 NFS分区常见用途 271
18.6 检查并排除NFS故障 271
18.6.1 孤立失效的文件句柄 272
18.6.2 拒绝访问 272
18.6.3 硬、软挂装的比较 272
18.7 小结 273
第19章 网络信息服务(NIS) 274
19.1 NIS的基本原理 274
19.1.1 NIS服务器 275
19.1.2 “域”的概念 275
19.2 配置主控NIS服务器 276
19.2.1 建立域名 276
19.2.2 启动NIS 276
19.2.3 编辑Makefile文件 276
19.2.4 使用ypinit命令 279
19.3 配置NIS客户 280
19.3.1 编辑/etc/yp.conf文件 280
19.3.2 设置启动脚本程序 281
19.3.3 /etc/nsswitch.conf文件 281
19.3.4 测试NIS客户的配置情况 282
19.4 配置附属NIS服务器 282
19.4.1 设置域名 282
19.4.2 设置NIS主控服务器对辅助NIS服务
器的推操作 283
19.4.3 执行ypinit命令 283
19.5 NIS软件工具 284
19.6 在配置文件里使用NIS 284
19.7 在一个现实网络里实现NIS 285
19.7.1 小型网络 285
19.7.2 带分支的网络 286
19.7.3 规模大过建筑物的网络 286
19.8 小结 287
第20章 Samba服务 288
20.1 SMB服务的基本原理 288
20.1.1 用户名和口令 288
20.1.2 加密口令 289
20.1.3 守护进程smbd和nmbd之间的区别 289
20.1.4 编译并安装Samba 289
20.1.5 设置SWAT工具 291
20.2 Samba的系统管理 292
20.3 使用SWAT工具 292
20.3.1 SWAT软件的菜单 293
20.3.2 建立共享关系 295
20.4 使用smbclient程序 296
20.4.1 浏览服务器 297
20.4.2 远程文件访问 297
20.4.3 远程打印机访问 298
20.5 使用smbmount命令 298
20.6 对加密口令功能的支持 299
20.6.1 允许使用NULL口令 299
20.6.2 使用smbpasswd命令修改口令 299
20.7 检查并排除Samba故障 300
20.8 小结 300
第21章 打印服务 301
21.1 lpd守护进程的基础知识 301
21.1.1 启动lpd守护进程 302
21.1.2 允许远程用户 302
21.2 配置/etc/printcap文件 302
21.2.1 /etc/printcap文件中的命令 303
21.2.2 使用Samba服务打印 304
21.2.3 让修改生效 305
21.3 lpd的客户 305
21.3.1 lpr 305
21.3.2 lprm 306
21.3.3 lpq 306
21.4 小结 306
第22章 动态主机配置协议(DHCP) 308
22.1 DHCP协议的基本原理 308
22.2 DHCP服务器 309
22.2.1 下载、编译和安装DHCP服务器 309
22.2.2 配置DHCP服务器 309
22.2.3 dhcpd.conf文件示例 314
22.2.4 正常运行情况 315
22.3 DHCP客户守护进程 315
22.3.1 下载、编译和安装DHCP客户 315
22.3.2 配置DHCP客户 315
22.4 小结 316
第23章 备份 317
23.1 评估自己的备份需求 317
23.2 管理备份设备和文件 318
23.2.1 使用mknod命令建立设备文件 319
23.2.2 使用mt命令操作磁带设备 319
23.3 命令行工具程序 320
23.3.1 dump命令和restore命令 320
23.3.2 tar命令 323
23.4 小结 324
第五部分 Linux操作系统的高级网络功能
第24章 网络配置 325
24.1 网络基本知识 325
24.1.1 IP地址 325
24.1.2 CIDR技术 327
24.2 模块和网络接口卡 327
24.3 ifconfig程序 328
24.3.1 简单用法 328
24.3.2 其他参数 330
24.4 使用route命令 331
24.4.1 简单用法 332
24.4.2 显示路由 332
24.5 小结 334
第25章 Linux操作系统的高级网络功能 335
25.1 IP假名技术 335
25.2 数据包过滤 336
25.2.1 数据包过滤的实现 337
25.2.2 ipchains工具软件 339
25.2.3 几种解决方案 345
25.3 IP地址欺诈技术 348
25.3.1 IP欺诈的三语句解决方案 349
25.3.2 地址欺诈代理 350
25.4 小结 351
第26章 /proc文件系统 352
26.1 /proc文件里有些什么东西 352
26.2 部分有用的/proc数据项 353
26.3 通过/proc实现的常见报告和设置 355
26.3.1 对SYN Flood攻击现象的防护 355
26.3.2 大容量服务器的问题 355
26.3.3 调试硬件冲突 356
26.4 小结 356
附录A Red Hat Linux发行版本中的程序
设计语言 357
附录B Linux操作系统中的常用软件 360