第1章 RedHatEnterpriseLinux4.0系统简介 1
1.1 Linux简介 2
1.1.1 UNIX的起源 2
1.1.2 Linux的起源 3
1.1.3 Linux内核 4
1.1.4 Linux的各主要发行版本 6
1.2 Red Hat Enterprise Linux产品简介 10
1.2.1 Red Hat Linux的发展过程 10
1.2.2 Red Hat Enterprise Linux 4.0 13
1.2.3 RHEL 4的产品线 18
第2章 Linux管理基础知识 21
2.1数据单位的约定 22
2.1.1基本数据单位 22
2.1.2公制数据单位 23
2.1.3二进制数据单位 23
2.1.4+进制数据单位 24
2.2 Linux的启动过程 24
2.2.1 Linux的启动 24
2.2.2 Linux的运行级别 28
2.2.3 init的动作 30
2.2.4 /etc/iniab文件 31
2.3终端 32
2.3.1终端 32
2.3.2 X-Window下的终端xterm 33
2.4 RHEL 4服务管理 34
2.4.1服务配置工具 35
2.4.2 ntsysv 36
2.4.3 chkconfiig 37
2.4.4在命令行进行服务管理 38
2.5日志管理 40
第3章 Linux网络基础 43
3.1网络互联模型 44
3.2 TCP/IP网络基本概念 45
3.2.1介质访问控制地址 45
3.2.2互联网协议 45
3.2.3 IP地址(IPv4地址) 46
3.2.4子网掩码 46
3.2.5网络类 47
3.2.6子网 48
3.2.7默认网关 48
3.2.8网络配置中常见错误 49
3.2.9常见网络术语表 49
3.3 IPv6技术 50
3.3.1 IPv4问题与不足 50
3.3.2 IPv6地址概述 51
3.3.3 IPv6地址格式 51
3.3.4 IPv6数据报 52
3.3.5 IPv6相对于IPv4的改进 53
3.3.6 IPv6取代IPv4是一个逐渐的过程 54
3.3.7 IPv6本身存在的问题及对策 54
3.4网络接口配置简介 55
3.4.1进入网络配置图形界面 55
3.4.2添加虚拟设备 55
3.4.3编辑设备信息 57
3.4.4设置DNS信息 58
3.4.5用ifconfiig命令配置网络接口 59
3.4.6配置IPv6网络连接 60
3.4.7网络管理工具 63
3.5 DNS系统 65
第4章 SSH服务与应用 67
4.1 SSH协议的认证方式 68
4.1.1基于主机许可的认证方式 68
4.1.2基于非对称密钥的认证方式 69
4.1.3基于主机密钥的认证方式 70
4.1.4基于口令的认证 72
4.2访问OpenSSH服务 72
4.2.1 ssh工具 72
4.2.2 sftp工具 74
4.2.3 scp工具 75
4.2.4 PuTTY工具 76
4.2.5 SecureCRT 77
4.2.6 SSH Secure Shell客户端 79
4.3 OpenSSH的配置 80
4.3.1 OpenSSH服务的启动与关闭 80
4.3.2 OpenSSH的配置文件 81
4.3.3 sshd的配置举例 83
4.4非对称密钥与认证代理 84
4.4.1非对称密钥的生成与更新 84
4.4.2收集SSH公钥 86
4.4.3认证代理 86
4.4.4向认证代理添加身份数据 87
4.4.5在GNOME中配置认证代理 89
4.5基于SSH访问的防范 89
4.5.1 DenyHosts下载与安装 89
4.5.2 DenyHosts的配置 90
4.5.3运行DenyHosts 92
4.5.4 DenyHosts的应用 93
4.5.5使用 DenyHosts的注意事项 93
4.6 SSH应用实例 94
4.6.1无口令登录 94
4.6.2一个复杂的端口转发实例 95
第5章 通过VNC操作Linux 97
5.1 VNC简介 98
5.2 VNC安装 98
5.3启动和停止VNC服务 99
5.3.1手工启动VNC服务 99
5.3.2通过服务管理器启动VNC服务 99
5.3.3指定虚拟桌面编号与名称 100
5.4配置VNC服务 101
5.4.1 vncserver命令 101
5.4.2虚拟桌面会话文件 102
5.4.3修改VNC登录密码 103
5.4.4 /etc/sysconfig/vncservers配置文件 104
5.4.5通过VNC访问控制台 105
5.5 vncviewer与配置 106
第6章 路由及网关服务 109
6.1路由及网关基础原理 110
6.1.1利用路由实现网络分隔与弹性扩展 110
6.1.2利用网关实现异构互联 111
6.2基于TCP/IP网络的路由 111
6.2.1路由的基本知识 112
6.2.2路由表 112
6.2.3静态路由 113
6.2.4动态路由 113
6.2.5常见动态路由协议 114
6.3 Linux软路由配置及使用 118
6.3.1配置Linux系统充当静态路由 118
6.3.2 Intranet环境及Inteet环境下的路由配置 121
6.3.3配置Linux系统充当动态路由 121
6.4 Linux作为网关配置实例 138
6.5路由及网关服务的常见问题 138
第7章 网络安全与防火墙 141
7.1网络安全基础 142
7.2防火墙概述 144
7.2.1防火墙简介 144
7.2.2防火墙分类 144
7.3基于路由器的包过滤防火墙 145
7.3.1包过滤防火墙的一般概念 145
7.3.2 Netfiilter/iptables架构 147
7.3.3 Netfiilter/iptables系统工作原理 147
7.4使用用户空间命令iptables实现包过滤 149
7.4.1相关性的TCP/IP知识 149
7.4.2 iptables基础 150
7.4.3 iptables语法 151
7.4.4 iptables命令使用举例 152
7.5包过滤防火墙配置举例 158
7.5.1建立包过滤防火墙 158
7.5.2防火墙配置工具 160
7.6 NAT 161
7.6.1 NAT的基本概念 161
7.6.2再识netfiilter/iptables系统 163
7.6.3与NAT相关的iptables命令语法 163
7.6.4 NAT应用举例 164
7.7 iptables防火墙使用技巧 165
第8章 NFS服务 169
8.1 NFS概述 170
8.2安装NFS服务 171
8.2.1检查并安装NFS服务 171
8.2.2 nfs-utils软件包的内容 171
8.2.3服务的启动与停止 172
8.2.4 NFS的监控程序 173
8.3配置NFS服务 173
8.3.1图形方式管理NFS服务 174
8.3.2命令行配置 176
8.3.3客户机定义格式 179
8.3.4 expofs命令 179
8.4 NF S客户端的配置 181
8.4.1手工挂载NFS文件系统 181
8.4.2使用etc/fstab来挂载NFS文件系统 182
8.4.3使用autofs来挂载NFS文件系统 182
8.5 NFS服务的安全 183
第9章 共享与打印服务 185
9.1 Samba简介 186
9.1.1 Samba与SMB 186
9.1.2 Samba的作用 187
9.2 Samba服务 187
9.2.1安装Samba服务 187
9.2.2 Samba结构 188
9.2.3启动Samba服务 188
9.2.4文件共享 190
9.2.5加强Samba的安全性 194
9.3图形化的设置Samba 194
9.3.1基本设置 194
9.3.2安全设置 195
9.3.3管理Samba用户 196
9.3.4添加共享目录 197
9.4 Samba的配置文件 197
9.4.1 smb.conf 197
9.4.2自动挂载光驱 200
9.4.3用户映射 201
9.4.4账号和密码 202
9.5 Samba打印机共享 202
9.5.1打印服务配置 202
9.5.2客户端配置 203
9.6实例分析 204
9.6.1工作目标 205
9.6.2创建相应的目录 205
9.6.3设置权限 205
9.6.4修改配置文件 207
9.6.5关于客户端访问 208
第10章 MySQL数据库服务与管理 211
10.1 MySQL简介 212
10.2安装MySQL服务 212
10.2.1检查 MySQL服务 212
10.2.2图形方式添加SQL数据库 214
10.2.3手工安装MySQL服务包 214
10.2.4根据源代码编译安装 214
10.3 MySQL数据库配置 216
10.3.1查看运行时帮助 216
10.3.2通用的命令行选项 217
10.3.3 MySQL的配置文件 218
10.3.4配置文件的格式说明 219
10.3.5 MySQL的环境变量 221
10.3.6 mysqld的配置选项 221
10.3.7 mysqladmin的配置选项 225
10.4 MySQL数据库管理 226
10.4.1启动和停止MySQL服务 227
10.4.2检查MySQL当前状态 228
10.4.3 MySQL的用户 228
10.4.4管理MySQL服务器 228
10.5 MySQL客户端 230
10.5.1启动MySQL客户端 230
10.5.2 mysql专有的选项 230
10.5.3 mysql提示符 232
10.5.4 mysql命令 233
10.6 MySQL的备份与恢复 234
10.6.1在线备份与恢复 234
10.6.2离线数据备份 241
10.6.3 MySQL数据库故障恢复 242
第11章 Oracle数据库服务 249
11.1 Oracle简介 250
11.2安装Oracle 250
11.2.1检查系统版本及硬件指标 250
11.2.2准备用户及系统配置参数 253
11.2.3准备安装文件 257
11.2.4通过VNC安装 258
11.2.5启动安装程序和安装前检查 260
11.2.6安装Oracle 262
11.3配置Oracle服务 264
11.3.1自动启动Oracle I0g 264
11.3.2启动iSQL*Plus 267
11.3.3设置iSQL*Plus DBA 267
11.3.4增强Oracle的安全性 268
11.4使用Oracle客户端 269
11.4.1使sqlplus for Linux支持中文 269
11.4.2使sqlplus for Linux命令支持上下箭头 270
11.4.3定制sqlplus for Linux的常用显示属性 270
11.4.4生成表空间及用户 271
11.4.5导入数据 272
11.4.6常用SQL语句 274
第12章 FTP服务器 277
12.1 FTP协议与FTP服务器 278
12.1.1 FTP的相关概念 278
12.1.2 Linux环境下的FTP服务器 279
12.2 proftpd的默认配置 280
12.2.1安装并启动proftpd 280
12.2.2从源代码安装proftpd 281
12.2.3 Red Hat Enterprise Linux 4.0中的默认配置 282
12.3修改Red Hat Enterprise Linux 4.0的默认proftpd配置 285
12.3.1允许匿名用户上传 285
12.3.2配置基本的性能和安全选项访问控制 285
12.3.3配置基于本地用户的访问控制 286
12.3.4配置基于主机的访问的控制 286
12.3.5其他相关配置 287
12.4将proftpd运行在xinetd方式下 288
12.4.1使用xinetd方式启动proftpd 288
12.4.2 xinetd方式启动proftpd时的主机访问控制 288
12.4.3两种启动方式的比较 289
12.5各种proftpd服务器配置举例 291
12.5.1配置本地组访问的FTP服务器 291
12.5.2配置高安全级别的匿名服务器 291
12.5.3配置proftpd在非标准端口下提供服务 294
12.5.4配置基于IP虚拟FTP服务器 294
12.5.5配置虚拟用户的FTP服务器 295
第13章 配置Apache服务器 299
13.1 WWW服务器简介 300
13.1.1选择使用Apache 300
13.1.2 Apache的特性 301
13.1.3 Apache 2.0的模块 302
13.2 Red Hat Enterprise Linux 4.0的默认配置 303
13.2.1安装和启动Apache 303
13.2.2查看Red Hat Enterprise Linux 4.0的默认配置 304
13.3配置Apache 311
13.3.1基本配置 311
13.3.2分割配置任务 311
13.3.3配置每个用户的Web站点 313
13.4访问控制、认证和授权 315
13.4.1访问控制 315
13.4.2认证和授权 316
13.4.3认证和授权配置举例 318
13.4.4访问控制、认证和授权的综合应用 320
13.4.5 WebDAV 321
13.5组织和管理站点内容 323
13.5.1组织和管理站点内容的方法 323
13.5.2符号链接和别名 323
13.5.3页面重定向 325
13.6 Apache的日志管理和统计分析 326
13.6.1日志管理简介 326
13.6.2配置错误日志 326
13.6.3配置访问日志 328
13.6.4日志滚动 329
13.6.5日志统计分析 330
13.7配置动态Web站点 332
13.7.1引言 332
13.7.2在Apache上运行CGI 332
13.7.3在Apache上运行PHP 333
13.7.4在Apache上运行JSP 335
13.8动态网站应用举例 337
13.8.1 OpenWebMail 337
13.8.2 phpMyAdmin和phpPgAdmin 338
13.9 Apache上的虚拟主机 341
13.9.1虚拟主机简介 341
13.9.2配置基于IP的虚拟主机 342
13.9.3配置基于域名的虚拟主机 342
13.10架设虚拟站点举例 343
13.10.1配置DNS 344
13.10.2配置本地用户和站点目录结构 345
13.10.3配置Apache 345
13.10.4配置sendmail和vsftpd 346
13.10.5测试 349
第14章 流媒体服务器 351
14.1流媒体技术基础 352
14.1.1流媒体技术简介 352
14.1.2流媒体技术原理 353
14.1.3智能流技术 353
14.1.4流式传输方式 354
14.1.5流媒体播放方式 355
14.1.6流媒体的应用 356
14.1.7流媒体格式 357
14.2 Helix流媒体服务器使用入门 359
14.2.1 Helix流媒体服务器简介 359
14.2.2获取Helix服务器安装程序 360
14.2.3安装、启动和停止Helix服务器 360
14.3管理Helix流媒体服务器 361
14.3.1登录Helix服务器管理界面 361
14.3.2安装Helix服务器汉化包 362
14.3.3管理Helix服务器 362
14.3.4浏览Helix的帮助文档 365
14.3.5 Helix服务器的管理用户账号和许可证 366
14.4 Helix服务器的安全设置 366
14.4.1访问控制 367
14.4.2用户认证 367
第15章 目录服务 369
15.1目录服务概述 370
15.1.1 X.500简介 371
15.1.2 LDAP简介 372
15.1.3 X.500与LDAP的比较 373
15.1.4目录服务产品介绍 374
15.2 LDAP基础 376
15.2.1 LDAP基本模型 376
15.2.2 LDAP存储结构 377
15.2.3 LDAP访问控制 378
15.2.4 LDAP目录树 378
15.2.5 LDAP应用 379
15.3 OpenLDAP安装与配置 379
15.3.1安装Berkeley DB数据库 379
15.3.2安装OpenLDAP 380
15.3.3配置OpenLDAP 380
15.3.4启动LDAP服务 381
15.3.5初始化LDAP服务 382
15.3.6常用ldap命令介绍 384
15.3.7启用sasl验证 385
15.3.8配置服务器复制 386
15.4 phpLDAPAdmin安装与配置 387
15.4.1安装Apache服务 387
15.4.2下载phpLDAPAdmin 387
15.4.3安装phpLDAPAdmin 387
15.4.4使用phpLDAPAdmin管理目录树 389
15.5 LDAP服务的身份验证实例 390
15.5.1 Linux用户登录身份验证 390
15.5.2 FTP用户身份验证 391
15.5.3 Apache网站身份验证 391
第16章 Linux网络开发基础知识 393
16.1 Linux下C/C++开发基础知识 394
16.1.1编辑工具Vi 394
16.1.2编译工具gcc 398
16.1.3自动编译工具make 400
16.2网络编程基础知识 401
16.2.1套接字 401
16.2.2 netinet/in.h头文件 401
16.2.3字节顺序 403
16.2.4 arpa/inet.h 405
16.2.5 sys/socket.h 405
16.2.6 bits/socket.h 410
16.3无连接UDP编程实例 412
16.3.1编写服务器端程序 412
16.3.2编写客户端程序 414
16.3.3编译过程 416
16.3.4执行过程 417
16.4 TCP编程实例 418
16.4.1编写服务端程序 419
16.4.2编写客户端程序 421
16.4.3编译过程 422
附录A RHEL4服务详表 424
附录B SSH的相关说明 447
附录C Apache配置参数说明 468
参考文献 498