前言 1
第一部分 从这里开始 5
第一章 为什么使用 Red Hat Linux 7
1.1 Linux的历史 7
1.2其他主要的Linux版本 8
1.2.1Caldera OpenLinux 9
1.2.2Slackware Linux 9
1.2.3Debian GNU/Linux 10
1.2.4SuSE 10
1.2.5其他Linux版本 10
1.3 Red Hat的优势 11
1.4 Red Hat Linux作为服务器操作系统 13
1.5怎样得到Red Hat Linux 14
1.6小结 14
第二章 安装和基本配置 16
2.1 检查硬件要求 16
2.2准备安装Red Hat Linux 18
2.2.1 在MS Windows 9x/2000下创建引导盘 19
2.2.2在Linux系统下创建引导盘 20
2.3安装Red Hat Linux 20
2.3.1了解安装程序如何工作 21
2.3.2选择语言、键盘和安装方法 21
2.3.3选择安装类型 21
2.3.4磁盘分区 22
2.3.5选择LILO安装方法 28
2.3.6命名服务器 29
2.3.7选择鼠标类型 30
2.3.8配置时钟 30
2.3.9设置root口令 30
2.3.10创建可选用户账户 31
2.3.11配置用户鉴别方法 31
2.3.12选择软件进行安装 31
2.3.15第一次启动Red Hat Linux 33
2.3.13跳过X Window系统具体配置 33
2.3.14创建定制引导盘 33
2.4 小结 34
第二部分 以超级用户身份工作 35
第三章 开机引导和关机过程 37
3.1配置init 39
3.1.1/etc/rc.d/rc.sysinit脚本 43
3.1.2/etc/rc.d/init.d目录 44
3.1.3/etc/rc.d/rc脚本 44
3.1.4/etc/rc.d/rc[0-6].d 目录 47
3.1.5/etc/rc.d/rc.local脚本 49
3.1.6/etc/rc.d/rc.serial脚本 49
3.2 引导系统 49
3.3关闭系统 50
3.3.1取消关机 50
3.3.2重新引导服务器 50
3.3.4断电自动关机 51
3.3.3使用Ctrl+Alt+Delete进行重新引导 51
3.4管理init文件 52
3.4.1使用chkconfig管理运行等级 52
3.4.2使用ntsysv管理运行等级 53
3.4.3使用linuxconf管理运行等级 54
3.4.4创建确定运行等级下的一项新服务 54
3.5 小结 57
第四章 UNIX文件和设备常识 58
4.1理解文件/目录许可 58
4.1.1使用命令chown改变文件/目录的所有权 60
4.1.2使用chgrp命令修改文件/目录的组 60
4.1.3使用八进制数字理解存取许可 61
4.1.4使用访问字符串理解访问许可 63
4.1.5使用chmod改变文件/目录的访问特权 64
4.1.6目录许可的补充说明 64
4.2.2改变软链接的许可或所有权 65
4.2.1改变硬链接的许可或所有权 65
4.2 链接的许可管理 65
4.3 创建多用户服务器的许可策略 66
4.3.1设置用户配置文件许可 66
4.3.2设置用户的默认文件许可 67
4.3.3设置可执行文件许可 68
4.3.4设置FTP的默认文件许可 68
4.4使用文件和目录工作 70
4.4.1 查看文件和目录 70
4.4.2 目录导航 70
4.4.3确定文件类型 70
4.4.4查看文件或目录的访问统计 70
4.4.5拷贝文件和目录 71
4.4.6移动文件和目录 71
4.4.7删除文件和目录 72
4.4.8查找文件 72
4.5 使用ext2文件系统专用许可 73
4.4.9覆盖默认文件许可掩码 73
4.6小结 74
第五章 常用命令 75
5.1 掌握UNIX命令行 75
5.1.1 通配符基础 76
5.1.2正则表达式基础 77
5.2如何使用联机手册 79
5.3文件和目录基本命令 80
5.3.1cat 80
5.3.2chmod 81
5.3.3 chown 82
5.3.4clear 82
5.3.5 cmp 83
5.3.6cp 84
5.3.7 cut 84
5.3.8 diff 85
5.3.10 emacs 87
5.3.9 du 87
5.3.11 fgrep 89
5.3.12 file 89
5.3.13 find 90
5.3.14 grep 90
5.3.15head 91
5.3.16 In 91
5.3.17locate 92
5.3.18Is 92
5.3.19 mkdir 92
5.3.20mv 93
5.3.21pico 93
5.3.22pwd 93
5.3.23rm 94
5.3.24sort 95
5.3.26strings 96
5.3.25stat 96
5.3.27tail 97
5.3.28touch 97
5.3.29umask 97
5.3.30uniq 98
5.3.31vi 98
5.3.32wc 100
5.3.33whatis 100
5.3.35which 101
5.3.34whereis 101
5.4 文件压缩和有关归档的命令 102
5.4.1 compress 102
5.4.2 gunzip 102
5.4.3gzip 103
5.4.4 rpm 103
5.4.5 tar 104
5.4.6uncompress 105
5.4.8uudecode 106
5.4.9uuencode 106
5.4.7unzip 106
5.4.10 zip 107
5.5针对文件系统的命令 107
5.5.1dd 107
5.5.2df 108
5.5.3edquota 109
5.5.4fdformat 109
5.5.5fdisk 109
5.5.6mkfs 109
5.5.7mkswap 109
5.5.8mount 110
5.5.9quota 110
5.5.10quotaon 110
5.5.13umount 111
5.6 DOS兼容命令 111
5.5.11swapoff 111
5.5.12swapon 111
5.6.1meopy 112
5.6.2mdel 112
5.6.3mdir 112
5.6.4mformat 112
5.6.5mlabel 113
5.7 系统状态有关的命令 113
5.7.1dmesg 113
5.7.2free 113
5.7.3shutdown 114
5.7.4uname 114
5.8.3groupadd 115
5.8.2chsh 115
5.8.4groupmod 115
5.8.1chfn 115
5.8用户管理命令 115
5.7.5uptime 115
5.8.5groups 116
5.8.6last 116
5.8.7passwd 116
5.8.8su 117
5.8.9useradd 117
5.8.10userdel 117
5.8.11usermod 117
5.8.12who 117
5.8.13whoami 118
5.9 访问网络服务的用户命令 118
5.9.1finger 118
5.9.2ftp 118
5.9.3lynx 119
5.9.5pine 120
5.9.4mail 120
5.9.6rlogin 121
5.9.7talk 121
5.9.8telnet 121
5.9.9wall 122
5.10 网络管理员命令 122
5.10.1host 122
5.10.2hostname 122
5.10.3ifconfig 123
5.10.6nslookup 124
5.10.4netefg 124
5.10.5netstat 124
5.10.7ping 125
5.10.8route 126
5.10.9tcpdump 127
5.10.10traceroute 128
5.11进程管理命令 129
5.11.1bg 129
5.11.3jobs 130
5.11.4kill 130
5.11.2fg 130
5.12.1at 131
5.12.3atrm 131
5.12.2atg 131
5.12.4crontab 131
5.12 任务自动化命令 131
5.11.7top 131
5.11.6ps 131
5.11.5killall 131
5.13效率命令 132
5.13.1bc 132
5.13.2cal 132
5.13.3ispell 133
5.13.4mesg 134
5.13.5write 134
5.14 shell命令 134
5.14.3set 135
5.14.1alias 135
5.14.2history 135
5.14.4source 136
5.13.5unalias 136
5.15与打印有关的命令 136
5.15.1lpq 137
5.15.2lpr 137
5.15.3lprm 137
5.16小结 138
第三部分 用户、进程和网络管理 139
第六章 使用Linuxconf 141
6.1 Linuxconf是什么 142
6.2安装Linuxconf 144
6.3配置Linuxconf 144
6.3.1为Linuxconf建立基于Web的远程访问 147
6.3.2配置Linuxconf模块 149
6.3.3规定用户的特权 150
6.3.4使用多重的系统配置文件 152
6.4小结 154
第七章 用户管理 156
7.1 成为超级用户 156
7.2 为普通用户指定特权 158
7.3使用命令行工具管理用户 161
7.3.1创建新的用户账号 162
7.3.2创建一个新组 163
7.3.3修改已经存在的用户账号 164
7.3.4修改存在的组 166
7.3.5删除或废止用户账号 167
7.3.6创建默认的用户设置 167
7.4使用Linuxconf管理用户 170
7.4.1 增加新的用户账号 170
7.4.2修改已存在的用户账号 172
7.4.3删除或者禁止已存在的用户账号 173
7.4.4添加、修改以及删除组 173
7.5使用用户磁盘配额 174
7.5.1安装磁盘配额软件 175
7.5.2配置系统使其支持磁盘配额 175
7.5.3为用户分配磁盘配额 176
7.5.4磁盘使用的监视 178
7.6小结 178
第八章 进程管理 179
8.1 如何开始一个进程 179
8.2.1用ps 获得进程状态 180
8.2 控制和监视进程 180
8.2.2给运行进程传送信号 183
8.2.3控制进程的优先级 189
8.3监视进程以及系统负载 191
8.3.1使用top 191
8.3.3 使用uptime 193
8.4进程日志 193
8.4.1配置syslog 193
8.4.2使用tail监视log 194
8.5.1使用at 195
8.5进程调度 195
8.5.2使用cron 196
8.6小结 198
第九章 网络管理 199
9.1TCP/IP网络基础 199
9.2IP网络分类 201
9.2.1A类网络 202
9.3配置网络接口 204
9.3.1使用传统的方法配置网络接口卡 205
9.3.2使用netcfg配置网络接口卡 211
9.4为什么使用默认网关 215
9.5把网络分割成子网 216
9.5.1网关计算机配置 220
9.6 小结 223
第四部分 建立Intranet/Internet服务 225
10.1 DNS如何运行 227
第十章 DNS服务 227
10.2配置DNS客户 229
10.3设置DNS服务器 231
10.3.1理解DNS的配置基础 232
10.3.2 主DNS服务器 239
10.3.3从/辅DNS服务器 240
10.3.4反向DNS服务器 241
10.3.5高速缓存/从DNS服务器 242
10.3.6控制DNS服务器 243
10.4 测试DNS服务器 244
10.5管理虚拟域DNS 245
10.6使用DNS服务器均衡负载 253
10.7 小结 254
第十一章E-mail服务 255
11.1SMTP邮件的工作方法 256
11.2建立DNS邮件服务程序 259
11.3建立SMTP邮件服务程序 260
11.3.2启动和停止sendmail 261
11.3.1安装sendmail 261
11.3.3理解并配置/etc/ sendmail.cf 263
11.3.4配置/etc/mail/*文件 270
11.4测试sendmail的配置 278
11.4.1测试sendmail地址重写规则 278
11.4.2测试/etc/mail/*数据库文件 280
11.4.3利用sendmail查看SMTP如何处理冗长 280
11.4.4利用sendmail调试标志 282
11.4.5利用一个测试配置文件 282
11.5.1配置文件安全 283
11.5 sendmail安全 283
11.5.2确保更严格的操作方式和保密性 284
11.6采取抗垃圾邮件措施 285
11.6.1处理第三方的邮件中继脆弱性 285
11.6.2将垃圾邮件制造者发送到黑洞 286
11.7建立POP邮件服务 289
11.7.1POP邮件服务如何工作 289
11.8 配置SMTP/POP邮件客户 291
11.7.2安装POP3服务器 291
11.7.3配置POP3服务 291
11.9商业选择 292
11.9.1Sendmai Pro 292
11.9.2qmail 292
11.10小结 293
第十二章 Web服务 294
12.1Apache系统要求 295
12.1.1ANSI C编译器 295
12.1.2 足够的磁盘空间 295
12.1.3足够的RAM 295
12.1.4其他要求 296
12.2 从网络获得Apache 296
12.3创建自定义Apache服务器 297
12.3.1使用APACI配置Apache源代码 297
12.3.3编译和安装Apache支持工具 302
12.3.2编译和安装Apache 302
12.3.4用可选的或第三方模块定制Apache 304
12.4启动和运行Apache 308
12.4.1配置httpd.conf 309
12.4.2配置srm.cohf 316
12.4.3 配置access.conf 323
12.4.4控制Apache服务器 325
12.4.5测试Apache服务器 327
12.5管理Apache服务器 328
12.5.1配置Apache的CGI脚本 328
12.5.2配置服务器端的Apache 332
12.5.3安装虚拟Web网站 340
12.5.4 Apache作为代理服务器使用 343
12.5.5认证Web用户 351
12.5.6监视服务器状态 358
12.5.7记录点击和错误 359
12.5.8加强Web服务器安全 365
12.5.9利用SSL使交易安全 372
12.6小结 379
第十三章 FTP服务 380
13.1使用wu-ftpd:默认FTP服务器 380
13.1.1安装wu-ftpd服务器 381
13.1.2配置FTP服务 382
13.1.3创建匿名FTP网点 396
13.1.4创建宾客FTP账号 400
13.1.5创建虚拟FTP网站 403
13.2使用商用FTP服务器 407
13.3使用简单文件传输协议服务器 407
13.4小结 408
第十四章 Internet在线聊天和新闻服务 409
14.1建立Internet在线聊天 (IRC)服务程序 409
14.1.1安装IRC服务器 410
14.1.2配置IRC服务器 410
14.1.4安装并使用IRC客户 423
14.1.3运行一个IRC服务器 423
14.2建立一个Usenet新闻服务程序 426
14.2.1配置INN服务器 427
14.2.2访问INN服务器 428
14.3 小结 429
第五部分 设置办公服务 431
第十五章 通过Samba共享文件和打印机 433
15.1安装Samba 433
15.2配置Samba 434
15.2.1[global]配置 442
15.2.2[homes]配置 445
15.2.3[printers]配置 446
15.3使用GUI配置工具 446
15.3.1检验文件/etc/samba/smb.conf的配置 447
15.3.2启动、停止和重启Samba服务 447
15.4.1在Windows中使用Linux文件服务器 448
15.4 Samba的实际应用 448
15.4.2在Linux系统中使用Windows文件服务器 449
15.4.3在Linux和Windows中共享打印机 451
15.4.4使用交互式的Samba客户 455
15.5使Samba服务器安全 457
15.6小结 458
第十六章 使用NFS文件服务器 459
16.1安装NFS服务器和客户软件 459
16.2配置NFS服务器 460
16.2.1给导出目录授予只读的访问权 461
16.2.2给导出目录授予读和写的访问权 461
16.2.3禁止访问指定的目录 462
16.2.4在NFS服务器和客户之间进行用户映射 462
16.3配置NFS客户 464
16.4NFS服务器安全 465
16.5用rdist发布文件 466
16.7小结 470
17.1什么是SQL 471
第十七章 SQL数据库服务 471
17.2安装和配置SQL服务器:MySQL 473
17.2.1获得MySQL 473
17.2.2安装MySQL RPM软件包 474
17.3访问SQL Server 474
17.3.1首次启动MySQL客户程序 475
17.3.2创建数据库 475
17.4用脚本与SQL Server进行交互 477
17.4.1在UNIX命令提示符下进行SQL交互 477
17.4.2利用CGI脚本通过Web浏览器访问SQL数据库 487
17.5小结 493
第六部分 安全和监控 495
第十八章 安全简介 497
18.1保护用户访问安全 497
18.1.2限制普通用户的访问 498
18.1.1限制真正接触 498
18.1.3限制超级用户的访问 499
18.2保护用户认证进程 501
18.2.1 使用shadow口令 502
18.2.2理解PAM 506
18.3安全服务 511
18.3.1从操作系统安装时删除不必要的服务 511
18.3.2使xinetd运行的服务安全 512
18.4保护文件和文件系统 520
18.4.1安装只读型的文件系统 521
18.4.2利用cxt2文件系统 521
18.4.3使用Tripwire确保文件的完整性 523
18.5扮演可恶的攻击者 528
18.5.1攻击自己的口令 528
18.5.2使用COPS 531
18.7.1CERT 533
18.7.2BUGTRAQ 533
18.7获得最新的安全方面的新闻 533
18.6备份所有的文件 533
18.8小结 534
第十九章 网络安全 535
19.1 了解安全方面的问题 535
19.1.1以太网窥探 535
19.1.2IP欺骗 536
19.2设计一个安全网络 537
19.2.1使用无路由IP地址 537
19.2.2伪装IP地址 537
19.3什么是防火墙 539
19.3.1包过滤器 540
19.3.2使用基本的包过滤防火墙:ipchains 540
19.3.3使用应用层防火墙 542
19.4 使用Squid代理服务器 542
19.4.1 获得并安装Squid 543
19.4.3根据需要调整Squid 544
19.4.2首次运行Squid 544
19.5 从SATAN获取帮助 547
19.5.1安装SATAN 548
19.5.2启动SATAN 548
19.6小结 555
第七部分 调整性能 557
第二十章 修改内核 559
20.1为什么需要一个较新的内核 559
20.2有什么样的Linux内核 560
20.4安装新内核 562
20.3 准备内核升级 562
20.4.1 创建初始ramdisk 563
20.4.2配置LILO 563
20.4.3用新内核引导 564
20.5定制内核 564
20.5.1安装Linux内核源代码 564
20.5.2用老办法配置内核 565
20.5.3使用make menuconfig配置内核 581
20.5.4使用make xconfig配置内核 582
20.5.5 编译、安装及引导新内核 583
20.6修补内核 584
20.7 使用Kernelcfg 585
20.8小结 585
第二十一章 建造一个多服务器Web网络 587
21.1 Web网络的需求 588
21.2设计Web网络 588
21.2.1考虑循环DNS解决方案 588
21.2.2考虑硬件负载均衡办法 590
21.2.3选择正确的负载均衡解决方案 591
21.3分配IP地址 595
21.4配置网络 598
21.4.1 为名称服务器计算机设置网络 598
21.4.2设置每台Web服务器的网络接口 600
21.4.3设置WSD Pro导向器的网络接口 601
21.4.4测试网络配置 602
21.5设置DNS服务器 604
21.6设置NFS服务器 607
21.8设置FTP服务器 608
21.7设置Mail(SMTP/POP3)服务器 608
21.9设置名称服务器上的rdist 609
21.10设置每台Web服务器 611
21.10.1设置NFS客户配置 611
21.10.2设置sendmail转发到smart主机 612
21.11设置Web导向器 613
21.11.1创建Web服务部分 613
21.10.3设置rdist从ns.aminews-lan.con分发文件 613
21.11.2创建相关网络服务部分 616
21.12管理网络 617
21.12.1让服务器退出服务 617
21.12.2 优先化服务器选择 617
21.12.3监视服务器负载及统计 617
21.12.4在Web服务器部分添加一个新的Web服务器 618
21.13添加客户Web站点 619
21.14小结 619
第二十二章 配置X Window系统 620
22.1什么是XFree86 621
22.2准备XFree86 621
22.2.1对RAM的要求 621
22.2.2对视频卡的要求 621
22.2.3对显示器的要求 622
22.2.4对磁盘空间的要求 622
22.3安装XFree86 622
22.4配置XFree86 622
22.4.1使用Xconfigurator创建XF86Config文件 623
22.4.2理解XF86Config文件 628
22.5使用 X Windows 635
22.5.1配置.xinetrc 636
22.5.2定制客户应用程序的外观和风格 638
22.5.3使用X显示管理器xdm 638
22.6与Windows 9x/2000一起使用XFree86 639
22.6.1获得Micro X-Win32 640
22.7小结 642
第二十三章 使用X Windows系统 643
23.1使用GNOME桌面环境 643
23.1.1选择一个窗口管理器 645
23.1.2配置窗口管理器 646
23.1.3设置专家方式的会话选项 647
23.2使用X Windows进行管理 649
23.2.1使用Gnome RPM 649
23.2.2使用更新代理 651
23.2.3使用GNOME系统监视器 652
23.2.4使用时间工具 653
23.2.5使用netcfg 653
23.2.6使用printtool 653
23.2.7使用系统配置工具 653
23.2.8使用内核配置工具 654
23.2.9使用帮助搜索工具 654
23.3小结 654
附录A Linux资源 655