标题：Linux系统与网络服务管理技术大全
图书信息
书名：Linux系统与网络服务管理技术大全（第2版）  
作者：杨明华 谭励 于重重 等编著
出版社：电子工业出版社
ISBN：978-7-121-09020-2
出版日期：2010年5月
定价：79.00元（含光盘1张）
开本：16开
页码：712页
宣传语
畅销书升级版
全面介绍了Linux系统管理和网络服务的知识，并增加了Linux环境编程的内容。
内 容 简 介
本书从实用角度出发，对Red Hat Enterprise Linux 5平台下的系统管理及网络服务做了全面、系统的介绍，既便于读者了解Red Hat Enterprise Linux 5强大的功能，又有利于帮助Linux用户在较短的时间内快速地学习和掌握Red Hat Enterprise Linux 5。全书分三篇，共24章，内容涵盖了Linux系统概述、Red Hat Enterprise Linux 5系统安装及相关配置、图形桌面管理、用户和用户组管理、磁盘管理、文件和目录管理、终端常用命令、网络基础、DNS服务的配置与管理、WWW服务的配置与管理、FTP服务的配置与管理、打印服务的配置与管理、Samba服务的配置与管理、DHCP服务的配置与管理、电子邮件服务的配置与管理、MySQL数据库的配置与管理、代理服务的配置与管理、VPN服务的配置与管理、Webmin管理工具，以及网络安全与病毒防护、Linux环境下编程等内容。
本书内容丰富、语言通俗易懂、叙述深入浅出，非常适合于初、中级Linux用户，既可以作为各类院校相关专业的教材及Linux培训班的教材，也可以作为广大Linux爱好者的专业参考书。
第2版  前言
Linux是一个优秀的、日益成熟的操作系统，经过十几年的发展，已经拥有了大量的用户。为了满足众多Linux初学者、爱好者及专业人员的使用需要，笔者在多年从事Linux研究、教学及开发工作的基础上精心编著了本书。本书本着由浅入深、循序渐进的原则，精心组织各章节内容，各知识点前后贯穿又自成体系，既适合作为Linux初学者的入门级教材，也可作为专业人员的参考手册。同时，本书在详细讲解基本操作的前提下，从理论上对每个知识点的原理和应用背景都进行了详细的阐述，具有一定的理论深度。
第2版说明
本书第1版自出版以来，受到读者的欢迎，始终处于同类书销售前3名。经过一年多的销售，得到了很多反馈，读者对本书提出了一些有益的改进意见，同时鼓励笔者推出第2版。在吸取读者意见的基础上，本书做了如下调整：
1．全面修订原书中的问题，对一些描述不准确的概念，重新表达，力求清楚、明了。
2．增加指令速查附录，是使用Linux过程中经常会用到的。
3．增加Linux下Shell编程的讲解，可以提高Linux使用效率，准备进阶学习的读者对这方面要求迫切。
5．目前Linux下的开发很多，一些小企业都以它为平台建立自己的服务器，因此最后增加了Linux下C语言，以及Linux下PHP编程的讲解。
本书使用的约定
1．为了更好地使读者理解本书中涉及的代码和命令，在示例中加入了大量注释。注释以“//”开始，并采用斜体字表示。
2．对于图形界面中的对话框、文本框、下拉列表框、按钮及下拉菜单等的名称，均使用“【】”加以标注。
3．如非特别说明，所有涉及图形界面的操作，默认的桌面环境均是GNOME。
本书作者
本书由杨明华、谭励、于重重主笔编写，同时参与编写的还有昊燃、黄叶新、李增辉、刘聪、龙志标、孟劼、米爱中、秦侠、冉剑、任潇、王大亮、伍云辉。在此一并表示感谢。
编著者
目  录
第一部分  Linux系统配置与管理
第1章  Linux系统概述 30
1.1  Linux起源及特点 30
1.1.1  Linux起源 31
1.1.2  Linux的特点及主要优势 31
1.2  Linux版本发展 33
1.2.1  Linux内核版本 33
1.2.2  Linux发行版本 33
1.3  Red Hat Enterprise Linux简介及其新特点 35
1.3.1  Red Hat Enterprise Linux 简介 35
1.3.2  Red Hat Enterprise Linux 5 新特点 37
第2章  Linux系统安装及相关配置 40
2.1  准备安装Linux 40
2.1.1  安装程序的获取 40
2.1.2  硬件需求与兼容性 40
2.2  安装方式的选择 41
2.2.1  从CD-ROM安装 41
2.2.2  从硬盘进行安装 41
2.2.3  另一种从硬盘安装的方法 42
2.2.4  通过 NFS 安装 43
2.2.5  通过FTP安装 44
2.2.6  通过HTTP安装 45
2.3  安装系统 45
2.3.1  启动安装程序 45
2.3.2  语言和键盘支持 47
2.3.3  磁盘分区设置 48
2.3.4  网络配置 52
2.3.5  时区选择 54
2.3.6  设置根口令 55
2.3.7  选择安装的软件包 55
2.3.8  准备安装 58
2.3.9  安装完成 58
2.3.10  许可协议设置 59
2.3.11  防火墙设置 59
2.3.12  SELinux设置 60
2.3.13  Kdump设置 61
2.3.14  日期和时间设置 61
2.3.15  设置软件更新 62
2.3.16  创建个人用户 62
2.3.17  声卡设置 63
2.3.18  附加安装 63
2.4  升级和删除 64
2.4.1  升级到Red Hat Enterprise Linux 5 64
2.4.2  删除Linux分区 65
2.4.3  删除Linux引导记录 66
2.5  系统安装常见问题的分析与处理 66
2.5.1  无法找到光驱 66
2.5.2  系统显示信号11错误 67
2.5.3  在安装过程中使用驱动程序盘 67
2.5.4  出现“No device found to install Red Hat Enterprise Linux”错误 67
2.5.5  无法使用全部硬盘空间 67
2.5.6  分区表无法识别 68
2.5.7  如何保存回溯追踪消息 68
第3章  图形桌面管理 69
3.1  桌面系统简介 69
3.2  使用GNOME 70
3.2.1  进入GNOME桌面 70
3.2.2  GNOME面板 73
3.2.3  GNOME命令行模式 74
3.2.4  输入法设置 75
3.2.5  屏幕分辨率和屏幕保护程序设置 76
3.2.6  声卡检测 77
3.2.7  添加和删除软件包 77
3.2.8  刻录光盘 78
3.2.9  搜索文件 78
3.2.10  编辑菜单 79
3.2.11  其他个性化设置 80
3.2.12  退出GNOME桌面 81
3.3  使用KDE 82
3.3.1  进入KDE 82
3.3.2  KDE桌面和面板 83
3.3.3  Konqueror文件管理器 85
3.3.4  KDE控制中心 88
3.3.5  退出KDE桌面 89
3.4  桌面常见故障分析与处理 90
3.4.l  图形界面无法正常启动 90
3.4.2  调整显示器和显卡 90
第4章  用户和用户组管理 92
4.1  普通用户的管理 92
4.1.1  添加新用户 92
4.1.2  解析/etc/passwd文件 96
4.1.3  解析/etc/shadow文件 98
4.1.4  修改用户的账号 99
4.1.5  删除用户 101
4.1.6  用户的临时禁用 102
4.1.7  用户默认配置文件/etc/login.defs 102
4.1.8  使用newusers命令批量添加用户 103
4.2  根用户的管理 104
4.2.1  修改root密码 105
4.2.2  使用su命令切换为root 105
4.2.3  root密码丢失的处理 105
4.3  用户组的管理 107
4.3.1  添加新用户组 107
4.3.2  修改用户组属性 109
4.3.3  删除用户组 109
4.3.4  解析/etc/group文件 110
4.3.5  解析/etc/gshadow文件 111
4.4  用户和用户组的图形化管理 112
4.4.1  添加新用户 112
4.4.2  修改用户属性 113
4.4.3  删除用户 114
4.4.4  添加新用户组 114
4.4.5  修改用户组 115
4.4.6  删除用户组 115
4.5  用户和用户组管理常见问题 115
4.5.1  对/etc/shadow文件的编辑导致用户密码丢失 115
4.5.2  /etc/nologin文件引起普通用户无法登录 116
4.5.3  账户到期或密码失效导致用户无法登录 116
4.5.4  用户和用户组管理的安全防范措施 117
4.5.5  账号管理的常用命令 118
4.5.6  创建用户共享目录 119
第5章  磁盘管理 121
5.1  常用的磁盘管理工具 121
5.1.1  Linux磁盘分区简介 121
5.1.2  fdisk磁盘分区工具简介 123
5.1.3  进入fdisk交互模式 124
5.1.4  使用fdisk划分磁盘分区实例 128
5.1.5  使用Partition Magic管理磁盘分区 131
5.1.6  parted磁盘分区工具简介 135
5.1.7  进入parted交互模式 135
5.1.8  使用mkfs创建文件系统 137
5.1.9  使用fdformat格式化磁盘 137
5.1.10  使用e2fsck修复磁盘 138
5.2  磁盘配额管理 139
5.2.1  磁盘配额的系统配置 139
5.2.2  对用户设置磁盘配额 141
5.2.3  对用户组设置磁盘配额 142
5.2.4  启动和终止磁盘配额 144
5.2.5  使用quota命令监视磁盘使用 144
5.2.6  使用du命令进行磁盘空间统计 144
5.3  磁盘管理常见问题 146
5.3.1  添加新磁盘 146
5.3.2  修复受损文件系统 147
5.3.3  无法引导文件系统 147
第6章  Linux文件和目录管理 150
6.1  文件系统的概念 150
6.2  Linux文件系统的组织方式 150
6.3  Linux系统的默认安装目录 151
6.4  Linux文件系统的类型 152
6.5  使用fstab文件挂载文件系统 154
6.6  LVM——逻辑卷管理 155
6.7  Linux文件系统的组成 157
6.8  创建Linux文件系统 158
6.9  Linux文件的类型 159
6.10  文件和目录的权限 161
6.10.1  权限的常规表示 161
6.10.2  使用chmod命令进行权限设置 163
6.10.3  设置特殊权限 165
6.10.4  设置文件或目录的默认权限 166
6.10.5  访问控制列表ACL 167
6.10.6  权限的图形化管理 168
6.11  文件和目录管理常用命令 169
6.11.1  文件和目录操作常用通配符 169
6.11.2  ls或dir命令：列出当前目录的内容 170
6.11.3  cd命令：更改当前目录 172
6.11.4  cp 命令：复制目录或文件 173
6.11.5  rm 命令：删除目录或文件 174
6.11.6  mkdir命令：创建目录 174
6.11.7  rmdir命令：删除空目录 175
6.11.8  mv 命令：移动文件或目录 176
6.11.9  find 命令：查找文件 176
6.11.10  grep 命令：在文件中搜索指定的字符串 178
6.11.11  chown命令：改变文件或目录的拥有者 179
6.11.12  chgrp命令：修改文件或目录所属的用户组 180
6.11.13  cat 命令：把一个文件发送到标准输出设备 180
6.11.14  more 命令：一次显示一屏信息 181
6.11.15  less 命令：显示文件时允许用户既可以向前又可以向后翻阅文件 182
6.11.16  head 命令：查看文件前面的部分内容 184
6.11.17  touch命令：改变文件的时间戳 184
6.11.18  sort 命令：对文件中的所有行进行排序 184
6.11.19  comm命令：对两个已排序文件逐行进行比较 185
6.11.20  diff 命令：比较两个文本文件，并显示它们的不同 186
6.11.21  cut命令：移出文件中的部分内容 187
6.11.22  locate命令：查找所有名称中包含指定字符串的文件 187
6.11.23  split命令：将一个文件拆分成几个文件 187
6.11.24  IO重定向及管道操作 189
6.12  文件和目录的图形化管理 192
6.12.1  启动Nautilus文件管理器 192
6.12.2  打开文件和目录 194
6.12.3  书签 194
6.12.4  文件与目录的创建、重命名和删除 195
6.12.5  文件和目录的移动/复制/链接 196
6.12.6  修改文件和目录的属性 197
6.12.7  使用软盘、光盘等可移动介质 198
6.13  文件和目录管理常见问题 199
6.13.1  无法卸载已挂载的文件系统 199
6.13.2  修复损坏的文件系统 200
6.13.3  查询设备上采用的未知文件系统 200
6.13.4  恢复已删除的文件 201
第7章  Linux终端常用命令 202
7.1  Linux的终端窗口 202
7.1.1  启动终端窗口 203
7.1.2  终端窗口的常规操作 203
7.1.3  命令行自动补全 205
7.2  常用的信息显示命令 206
7.2.1  pwd命令 206
7.2.2  stat命令 206
7.2.3  uname命令 207
7.2.4  hostname命令 207
7.2.5  dmesg命令 207
7.2.6  free命令 207
7.2.7  locale命令 207
7.2.8  cat  /etc/issue命令 208
7.2.9  lastb命令 208
7.2.10  date命令 208
7.2.11  cal命令 208
7.2.12  time命令 209
7.2.13  clock命令 209
7.2.14  cat  /proc/cpuinfo命令 209
7.2.15  cat  /proc/interrupts命令 209
7.2.16  cat  /proc/filesystems命令 210
7.2.17  lsmod命令 210
7.2.18  set命令 210
7.2.19  runlevel命令 211
7.2.20  sysctl -a 命令 211
7.2.21  uptime命令 211
7.2.22  ps命令 211
7.2.23  top命令 212
7.2.24  pstree命令 213
7.2.25  history命令 213
7.2.26  mesg命令 214
7.3  常用的系统管理命令 214
7.3.1  mkbootdisk命令 214
7.3.2  kill命令 214
7.3.3  killall命令 215
7.3.4  alias和unalias命令 215
7.3.5  clear命令 216
7.3.6  reboot命令 216
7.3.7  shutdown命令 216
7.3.8  ＆命令 216
7.3.9  jobs命令 216
7.3.10  fg命令 217
7.3.11  exit命令 217
7.3.12  halt命令 217
7.3.13  sync命令 217
7.3.14  mknod命令 217
7.3.15  chattr命令 218
7.3.16  echo 命令 218
7.3.17  wc命令 218
7.4  软盘操作命令集mtools 219
7.5  Linux与DOS常用命令比较 220
7.6  使用mount命令挂载外设 221
7.6.1  软磁盘的挂载 222
7.6.2  CDROM的挂载 222
7.6.3  USB存储设备的挂载 223
7.7  Linux备份与压缩的策略 223
7.8  打包程序tar 224
7.8.1  打包和解包的常规操作 225
7.8.2  查看tar包中的内容 225
7.8.3  打包链接文件 225
7.8.4  向包中添加新文件 226
7.8.5  生成.tar.gz压缩包 226
7.9  压缩程序gzip与gunzip 227
7.9.1  常规压缩与解压缩操作 227
7.9.2  查看.gz压缩包中的内容 228
7.9.3  自定义压缩包后缀名 228
7.10  压缩程序zip与unzip 229
7.10.1  使用zip生成压缩文件 229
7.10.2  使用unzip进行解压 233
7.11  其他常用备份与压缩工具 234
7.11.1  压缩程序bzip2与bunzip2 234
7.11.2  dump与restore命令 236
7.11.3  cpio命令 238
7.11.4  dd命令 239
7.11.5  rsync命令 239
7.11.6  使用cp命令制作软盘镜像 240
7.11.7  制作光盘镜像 241
7.12  常用联机帮助命令 241
7.12.1  man 命令 241
7.12.2  info 命令 244
7.12.3  help 命令 245
7.12.4  其他相关命令 246
第二部分  网络服务器的配置与管理
第8章  Linux网络基础 250
8.1  计算机网络的发展 250
8.1.1  面向终端的计算机通信网络 250
8.1.2  初级计算机网络 251
8.1.3  开放式的标准化计算机网络 251
8.1.4  新一代的计算机网络 251
8.2  网络基本类型 251
8.2.1  按地理覆盖范围 251
8.2.2  按拓扑结构 253
8.3  网络体系结构 255
8.3.1  OSI/RM参考模型 255
8.3.2  TCP/IP参考模型 257
8.4  网络配置基本内容 259
8.4.1  主机名 260
8.4.2  IP地址 260
8.4.3  子网与子网掩码（subnet mask） 262
8.4.4  广播地址（broadcast address） 263
8.4.5  网关地址（gateway） 263
8.4.6  域名服务器地址（DNS） 263
8.4.7  DHCP服务器 263
8.5  配置以太网连接 264
8.5.1  添加以太网连接 264
8.5.2  修改网络配置 265
8.5.3  使用配置文件 266
8.6  连接Internet 267
8.6.1  使用modem拨号上网 267
8.6.2  使用xDSL拨号上网 272
8.6.3  使用ISDN拨号上网 272
8.6.4  使用无线连接 274
8.7  网络管理常用命令及应用实例 275
8.7.1  hostname命令 275
8.7.2  ifconfig命令 276
8.7.3  ifup命令 278
8.7.4  ifdown命令 278
8.7.5  route命令 279
8.7.6  ping命令 280
8.7.7  nslookup命令 282
8.7.8  arp命令 282
8.7.9  netstat命令 283
8.7.10  traceroute命令 284
8.7.11  利用常用命令分析局域网连通故障 284
第9章  DNS服务的配置与管理 286
9.1  DNS服务概述 286
9.1.1  DNS域名空间 287
9.1.2  DNS的工作原理 289
9.1.3  DNS的分类 290
9.1.4  域名的注册申请 290
9.2  DNS的安装 291
9.2.1  Bind软件包 291
9.2.2  Bind的安装 294
9.3  DNS的启动、停止及测试 295
9.3.1  DNS的启动与停止 295
9.3.2  测试DNS服务器 296
9.4  DNS服务器配置 298
9.4.1  根服务器信息文件named.root 298
9.4.2  DNS配置文件named.conf 300
9.4.3  DNS正向解析区域文件 305
9.4.4  DNS反向解析区域文件 308
9.5  配置DNS服务器实例 309
9.5.1  搭建一个简单的DNS服务器 309
9.5.2  搭建具有视图功能的DNS服务器 313
9.5.3  利用DNS服务器实现负载均衡 315
9.5.4  泛域名的解析 316
9.5.5  直接解析域名 317
9.6  DNS客户端配置 318
9.6.1  Windows客户端配置 318
9.6.2  Linux客户端配置 319
9.7  DNS服务器的常见问题分析 320
9.7.1  DNS服务器的安全配置 320
9.7.2  不能完成反向解析 321
9.7.3  缺少主机名后的“．” 321
9.7.4  工作目录设置错误 322
9.7.5  忘记改变顺序号 322
9.7.6  重新装载named进程 323
9.7.7  从DNS服务器不能复制分区数据库 323
第10章  WWW服务的配置与管理 324
10.1  WWW服务概述 324
10.1.1  WWW的起源 324
10.1.2  Apache概述 325
10.1.3  Web服务的工作原理 326
10.2  Apache服务器的安装与运行 326
10.2.1  安装Apache服务器 326
10.2.2  启动和停止Apache服务器 330
10.3  Apache服务器的基本配置 332
10.3.1  httpd.conf文件 332
10.3.2  配置目录权限 333
10.3.3  创建虚拟目录 335
10.3.4  用户认证 336
10.4  配置虚拟主机 338
10.4.1  虚拟主机概述 338
10.4.2  配置基于IP的虚拟主机 338
10.4.3  配置基于域名的虚拟主机 340
10.4.4  动态虚拟主机技术 341
10.5  管理日志文件 342
10.5.1  日志文件类型 342
10.5.2  日志文件格式 342
10.5.3  实现日志滚动 343
10.5.4  Webalizer日志统计分析工具 344
10.6  Apache服务器的图形化配置方法 346
10.6.1  基本配置 346
10.6.2  虚拟主机配置 347
10.6.3  服务器设置 349
10.6.4  性能设置 349
10.7  配置动态Web服务运行环境 350
10.7.1  配置CGI运行环境 350
10.7.2  配置PHP运行环境 352
第11章  FTP服务的配置与管理 354
11.1  FTP概述 354
11.1.1  文件传输服务器FTP工作原理 354
11.1.2  Port与Passive传输模式 354
11.2  Vsftpd简介 355
11.2.1  Vsftpd软件包的获取与安装 355
11.2.2  启动和关闭Vsftpd 358
11.3  Vsftpd服务器配置 359
11.3.1  配置vsftpd.conf文件 359
11.3.2  vsftpd/ftpusers与vsfptd/user-list文件配置 360
11.3.3  匿名FTP设置 361
11.3.4  真实账号设置 368
11.4  FTP客户端配置 375
11.4.1  FTP常用命令 375
11.4.2  Windows环境下访问FTP服务器 375
11.4.3  Linux环境下访问FTP服务器 378
11.5  查看FTP日志 379
第12章  打印服务的配置与管理 382
12.1  通用UNIX打印系统（CUPS）概述 382
12.2  CUPS服务的安装 383
12.2.1  图形化安装方式 384
12.2.2  命令行安装方式 384
12.3  CUPS的启动与停止 385
12.3.1  使用图形化方式 385
12.3.2  在终端窗口中使用命令方式 385
12.4  CUPS的配置文件 386
12.4.1  CUPS服务器配置文件 386
12.4.2  CUPS打印机类配置文件 387
12.4.3  CUPS打印机配置文件 388
12.5  CUPS打印服务管理 388
12.5.1  打印服务器基本设置 389
12.5.2  添加本地打印机 389
12.5.3  添加远程打印机 394
12.5.4  添加其他打印机 396
12.5.5  修改打印机设置 397
12.6  CUPS打印机类管理 398
12.6.1  添加打印机类 398
12.6.2  修改打印机类 399
12.7  基于Web的CUPS管理 400
12.7.1  使用Web添加打印机 401
12.7.2  使用Web添加打印机类 403
12.7.3  使用Web查看CUPS帮助 404
12.7.4  使用Web管理打印作业 404
12.7.5  使用Web管理打印机 405
12.8  常用的打印命令 406
12.8.1  lpr命令 406
12.8.2  lpc命令 406
12.8.3  lpq 命令 407
12.8.4  lprm 命令 407
第13章  Samba服务的配置与管理 408
13.1  Samba服务概述 408
13.1.1  SMB协议 408
13.1.2  Samba工作原理 408
13.2  Samba服务的安装与启动 409
13.2.1  Samba软件包的获取与安装 409
13.2.2  启动与停止Samba服务 410
13.3  配置Samba服务器 411
13.3.1  smb.conf文件基本配置 411
13.3.2  配置Samba用户认证 414
13.3.3  配置Samba日志文件 415
13.4  Samba服务器安全设置 415
13.4.1  Samba服务器安全级 416
13.4.2  加密口令 417
13.4.3  口令服务器 418
13.5  实现Samba资源共享 418
13.5.1  共享目录 418
13.5.2  共享打印机 419
13.6  Samba客户端配置 419
13.6.1  Linux客户端配置 419
13.6.2  Windows客户端配置 421
13.7  Samba服务器的图形化配置方法 422
13.7.1  添加共享 422
13.7.2  编辑共享目录 423
13.7.3  服务器设置 423
13.7.4  编辑Samba用户 424
第14章  DHCP服务的配置与管理 425
14.1  DHCP服务概述 425
14.1.1  DHCP协议简介 425
14.1.2  DHCP服务工作原理 426
14.2  DHCP服务的安装与使用 426
14.2.1  安装DHCP服务 426
14.2.2  启动与停止DHCP服务 427
14.3  配置DHCP服务器 428
14.3.1  配置dhcpd.conf文件 428
14.3.2  设置IP地址范围 431
14.3.3  设置客户端选项 431
14.3.4  设置IP租用期限 432
14.3.5  静态IP分配 432
14.3.6  动态IP分配 433
14.3.7  DHCP服务器双机备份 435
14.4  配置DHCP客户端 435
14.4.1  Windows环境下DHCP客户端设置 435
14.4.2  Linux环境下DHCP客户端设置 437
第15章  电子邮件服务的配置与管理 439
15.1  E-mail概述 439
15.1.1  E-mail系统的组成 439
15.1.2  E-mail工作原理 440
15.1.3  电子邮件协议 440
15.2  配置SMTP服务器 444
15.2.1  Sendmail 444
15.2.2  Postfix 445
15.3  POP和IMAP的实现 454
15.3.1  dovecot 454
15.3.2  cyrus-imap 455
15.4  配置邮件客户端 458
15.4.1  使用客户端软件 458
15.4.2  Web方式收发邮件 461
15.5  邮件服务的安全问题 466
15.5.1  垃圾邮件过滤 466
15.5.2  邮件杀毒 469
第16章  MySQL数据库的配置与管理 470
16.1  MySQL概述 470
16.2  MySQL服务的安装与启动 471
16.2.1  MySQL的安装 471
16.2.2  启动和停止MySQL服务 473
16.3  MySQL数据库的管理 475
16.3.1  启动MySQL客户端 475
16.3.2  修改管理员口令 476
16.3.3  MySQL配置文件 476
16.3.4  管理MySQL服务器 477
16.3.5  MySQL客户端操作 477
16.4  MySQL数据库的备份和修复 489
16.4.1  MySQL数据库备份和恢复 489
16.4.2  MySQL数据库的故障修复 490
16.5  phpMyAdmin的安装与使用 492
16.5.1  MySQL的图形化配置工具 492
16.5.2  phpMyAdmin的安装 493
16.5.3  使用phpMyAdmin 495
第17章  代理服务的配置与管理 501
17.1  代理服务概述 501
17.1.1  代理服务器的工作原理 501
17.1.2  Squid代理服务器简介 502
17.2  Squid软件包的安装与运行 502
17.2.1  Squid软件包的获取与安装 502
17.2.2  启动和停止Squid 503
17.3  配置Squid服务器 505
17.3.1  配置squid.conf文件 505
17.3.2  初始化squid 507
17.4  Squid服务器安全管理 509
17.4.1  访问控制 509
17.4.2  用户认证 512
17.5  配置透明代理 514
17.6  多级缓存 516
17.7  Squid服务器日志管理 517
17.8  客户端配置 519
17.8.1  Firefox中的客户端设置 519
17.8.2  Internet Explorer中的客户端设置 519
第18章  VPN服务的配置与管理 521
18.1  VPN服务简介 521
18.1.1  VPN的概念 521
18.1.2  VPN协议 521
18.1.3  VPN的身份认证方法 522
18.2  VPN服务的安装与使用 522
18.2.1  网络设置与软件下载 523
18.2.2  安装VPN服务 524
18.2.3  启动与停止VPN服务 524
18.3  配置VPN服务器 526
18.4  配置VPN客户端 527
18.4.1  配置Windows VPN客户端 527
18.4.2  配置Linux VPN 客户端 529
第19章  Webmin管理工具 531
19.1  Webmin管理工具概述 531
19.2  Webmin管理工具的安装与启动 532
19.2.1  安装前准备 532
19.2.2  下载并安装Webmin 532
19.2.3  登录Webmin 533
19.2.4  设置中文界面 533
19.2.5  Webmin界面 534
19.2.6  启动与停止Webmin 534
19.3  Webmin管理模块简介 535
19.3.1  Webmin配置管理模块 536
19.3.2  系统配置管理模块 536
19.3.3  服务器配置管理 537
19.3.4  网络配置管理模块 538
19.3.5  硬件配置管理模块 539
19.3.6  集群配置管理模块 540
19.3.7  其他配置管理模块 540
19.4  Webmin配置管理 541
19.4.1  Webmin用户管理 541
19.4.2  升级Webmin 542
19.5  系统配置管理 542
19.5.1  用户与组 542
19.5.2  改变口令 543
19.5.3  Cron 任务调度 544
19.5.4  文件系统备份 545
19.5.5  开机和关机 546
19.6  服务器配置管理 547
19.6.1  Apache 服务 547
19.6.2  Samba服务 547
19.6.3  DNS服务 548
19.6.4  DHCP服务 548
19.6.5  MySQL数据库 548
19.6.6  Postfix邮件服务 549
19.6.7  SSH服务 549
19.6.8  Squid代理服务 550
19.6.9  Webalizer日志分析 550
19.7  网络配置管理 550
19.7.1  网络接口 550
19.7.2  路由和网关 551
19.8  硬件配置管理 551
19.8.1  本地磁盘分区 552
19.8.2  系统时间 552
19.9  其他配置管理 552
19.9.1  系统和服务器状态 552
19.9.2  Perl 模块 553
19.9.3  PHP配置 554
第20章  网络安全与病毒防护 556
20.1  Linux网络安全对策 556
20.1.1  确保端口安全 556
20.1.2  确保连接安全 557
20.1.3  确保系统资源安全 558
20.1.4  确保账号、密码的安全 559
20.1.5  系统文件的安全性 559
20.1.6  日志文件的安全性 561
20.2  Linux下的防火墙配置 562
20.2.1  防火墙的基本概念 563
20.2.2  Red Hat安全级别设置 564
20.2.3  使用iptable管理防火墙 565
20.3  入侵检测技术（IDS） 571
20.3.1  入侵检测技术简介 571
20.3.2  Snort软件概述 574
20.3.3  安装Snort 574
20.3.4  使用Snort 576
20.3.5  snort.conf配置文件 578
20.3.6  配置Snort规则 582
20.4  OpenSSH实现网络安全连接 587
20.4.1  SSH安装 587
20.4.2  启动和停止OpenSSH守护进程 588
20.4.3  配置OpenSSH服务器 589
20.4.4  配置OpenSSH客户 592
20.4.5  使用ssh客户端 593
20.4.6  使用scp客户端 596
20.4.7  使用sftp客户端 597
20.4.8  使用SSH Secure Shell访问SSH服务器 598
20.5  计算机病毒与防护 600
20.5.1  计算机病毒种类 600
20.5.2  计算机病毒特征 602
20.5.3  计算机病毒的危害性 603
20.5.4  常见病毒的分析与预防 603
第三部分  Linux环境下编程
第21章  文本编辑器的使用 608
21.1  vim的使用 608
21.1.1  vim的启动 608
21.1.2  在桌面上创建vim启动器 609
21.1.3  vim的工作模式 609
21.1.4  保存与打开文件 610
21.1.5  移动光标 611
21.1.6  插入 612
21.1.7  删除 613
21.1.8  取消 613
21.1.9  保存 614
21.1.10  退出 614
21.1.11  查找 614
21.1.12  替换 614
21.1.13  选项设置 615
21.1.14  调用shell命令 615
21.2  vim使用实例 615
21.2.1  字符的插入与删除 616
21.2.2  字符的查找与替换 616
21.3  gvim 617
21.3.1  文件的新建与保存 617
21.3.2  查找与替换 618
21.4  gedit 619
21.4.1  gedit的启动与打开文本 619
21.4.2  gedit编辑文件 620
21.4.3  gedit打印文件 620
21.4.4  gedit的首选项 622
第22章  Shell编程 624
22.1  概述 624
22.1.1  命令补齐功能 624
22.1.2  命令通配符 624
22.1.3  使用命令的历史记录 625
22.1.4  命令的别名 625
22.2  Shell程序的基本结构 626
22.3  局部变量 626
22.4  环境变量 627
22.4.1  环境变量的查看 627
22.4.2  环境变量的访问 628
22.4.3  环境变量的定义 628
22.4.4  在系统配置文件中定义环境变量 628
22.4.5  位置变量 629
22.5  Shell的运算符 629
22.5.1  变量赋值 630
22.5.2  算术运算符 630
22.6  输入和输出 631
22.6.1  echo命令输出结果 631
22.6.2  read命令读取信息 633
22.6.3  文件重定向 634
22.7  引号的使用方法 635
22.7.1  双引号 635
22.7.2  单引号 635
22.7.3  反引号 635
22.7.4  反斜线 636
22.8  测试语句 636
22.8.1  文件状态测试 636
22.8.2  数值测试 637
22.8.3  字符串测试 638
22.8.4  逻辑测试 638
22.9  流程控制结构 638
22.9.1  if语句 639
22.9.2  if语句应用实例 640
22.9.3  for语句 641
22.9.4  for循环应用实例 642
22.9.5  until语句 643
22.10  Shell编程实例 644
22.10.1  程序的功能 644
22.10.2  编写程序的代码 644
第23章  Linux下C语言编程 646
23.1  编译的概念和理解 646
23.1.1  程序编译的过程 646
23.1.2  编译器 647
23.2  gcc编译器 647
23.2.1  gcc编译器简介 647
23.2.2  gcc对源程序扩展名的支持 647
23.3  C程序的的编译 648
23.3.1  编写第一个C程序 648
23.3.2  用gcc编译程序 649
23.3.3  查看gcc的参数 649
23.3.4  设置输出的文件 650
23.3.5  查看编译过程 650
23.3.6  设置编译的语言 651
23.3.7  -asci设置ANSIC标准 652
23.3.8  g++编译C++程序 652
23.4  编译过程的控制 653
23.4.1  编译过程简介 653
23.4.2  控制预处理过程 653
23.4.3  生成汇编代码 654
23.4.4  生成目标代码 655
23.4.6  链接生成可执行文件 655
23.5  gdb调试程序 655
23.5.1  gdb简介 655
23.5.4  启动gdb 656
23.5.5  在gdb中加载需要调试的程序 656
23.5.6  在gdb中查看代码 656
23.5.7  在程序中加入断点 657
23.5.8  查看断点 657
23.5.9  运行程序 658
23.5.10  变量的查看 658
23.6  程序调试实例 659
23.6.1  编写一个程序 659
23.6.2  编译文件 660
23.6.3  程序的调试 660
23.6.3  gdb帮助的使用 662
23.7  gdb常用命令 663
23.8  编译程序常见的错误与问题 664
23.8.1  逻辑错误与语法错误 664
23.8.2  C程序中的错误与异常 664
23.8.3  编译中的警告提示 665
23.8.4  找不到包含文件的错误 665
23.8.5  错误的使用逗号 665
23.8.6  括号不匹配错误 665
23.8.7  小括号不区配错误 666
23.8.8  变量类型或结构体声明错误 666
23.8.9  使用不存在的函数的错误 666
23.8.10  大小写错误 667
23.8.11  数据类型的错误 667
23.8.12  赋值类型错误 667
第24章  Linux下PHP的安装与配置 668
24.1  PHP简介 668
24.2  PHP的优点 668
24.3  利用添加/删除程序安装PHP软件包 669
24.4  Apache2.2+Mysql5.0+ PHP5.2+GD2.0+Firefox2.0的安装 670
24.4.1  获取软件包 672
24.4.2  安装环境的准备 673
24.4.3  安装GD库 674
24.4.4  安装MySQL 678
24.4.5  安装Apache 681
24.4.6  安装PHP 682
24.4.7  安装Firefox 687
24.5  配置PHP 687
24.5.1  php.ini文件 688
24.5.2  httpd.conf和.htaccess文件 688
24.5.3  在执行脚本中设定PHP配置指令 688
24.6  PHP标记 689
24.6.1  默认标记 689
24.6.2  短标记 689
24.6.3  脚本标记 689
24.6.4  ASP标记 689
24.7  关键字 690
24.8  PHP语句 691
24.9  空白符的处理 691
24.10  在HTML中嵌入多个代码块 691
24.11  注释 692
24.11.1  Shell风格 692
24.11.2  C++风格 692
24.11.3  C风格 693
24.12  PHP的输出 693
24.12.1  函数print( )：输出字符串或变量的值 693
24.12.2  函数echo( )：输出字符串或变量的值 694
24.12.3  函数printf( )：格式化输出 694
24.12.4  函数sprintf( )：将输出指定到字符串变量 696
24.12.5  函数print_r( )：输出数组 696
24.13  第一个PHP例子 697
附录A  Linux指令功能速查 699