1.1 Linux的起源 1
1.2 Linux的特点 1
第1章 Linux的基础知识 1
1.3 Linux的版本 2
1.3.1 内核版本 3
1.3.2 发行版本 3
1.4 Linux操作系统和发行版本 4
1.5 “自由”软件和GNU许可证 4
1.5.1 什么是GNU公共许可证 5
1.5.2 “自由”软件的优势 5
2.1.1 安装前的准备工作 6
2.1.2 各种安装方式 6
第2章 安装Linux 6
2.1 安装前的准备工作 6
2.2 安装Red Hat Fedora Core 4 7
2.2.1 从光盘中安装 7
2.2.2 首次启动Fedora Core 4的设置 18
2.3 Red Hat Fedora Core设置建议 22
2.3.1 设置文本启动方式 22
2.3.2 设置语言参数 22
2.3.3 字符界面下的中文解决方案 23
3.2 X-Windows的基本概念 25
3.2.1 X服务器 25
3.1 X-Windows概述 25
第3章 图形界面操作基础 25
3.2.2 窗口管理器 26
3.2.3 桌面环境(KDE) 26
3.3 登录和注销 26
3.3.1 用户账户 26
3.3.2 登录 26
3.3.3 注销 27
3.3.4 关机和重启 28
3.4 GNOME使用初步 29
3.4.1 GNOME的组成 29
3.4.2 GNOME的面板 30
3.4.3 GNOME的桌面 34
3.4.4 GNOME的基本使用 36
第4章 字符界面操作基础 42
4.1 虚拟控制台 42
4.2 本地登录和注销 42
4.3 系统运行级别和关机 43
4.4 Shell和命令基础 44
4.4.1 命令格式 45
4.4.2 编辑命令 45
4.4.3 目录和文件名的命名规则 46
4.4.4 通配符 46
4.5 提高工作效率的技巧两则 46
4.5.1 自动补齐功能 46
4.6.1 Vi简介 47
4.5.2 历史记录 47
4.6 文本编辑器 47
4.6.2 进入插入模式 49
4.6.3 编辑模式下的操作 49
4.6.4 命令模式下的操作 50
4.6.5 设置Vi环境 51
第5章 系统配置和管理 53
5.1 系统的基本配置 53
5.1.1 配置显示 53
5.1.2 设置系统时间 54
5.1.3 配置声卡 54
5.2.1 安装打印机 55
5.2 打印机的配置和管理 55
5.2.2 配置打印机 57
5.2.3 设置打印机共享 58
5.3 Nautilus的使用 59
5.3.1 使用Nautilus浏览文件和文件夹 60
5.3.2 使用Nautilus管理文件和文件夹 61
第6章 文件系统管理 65
6.1 Linux文件系统概述 65
6.1.1 Linux下常见的文件系统 65
6.1.2 查看Linux支持的文件系统 67
6.2 文件系统的使用和创建 68
6.3.1 Linux的目录结构 70
6.3 Linux的目录与文件结构 70
6.3.2 Linux的文件系统结构 71
6.4 文件系统基本操作命令 73
6.4.1 查看目录或者文件属性 73
6.4.2 新建和删除文件 75
6.4.3 查看和创建文件 76
6.4.4 复制和移动文件 77
第7章 账户和组群管理 79
7.1 Linux下的账户系统文件 79
7.1.1 用户账号文件——passwd 79
7.1.2 用户口令文件——shadow 83
7.1.3 用户组账号文件——group 84
7.1.4 使用vipw和vigr命令编辑用户和组账号文件 85
7.1.5 使用pwck和grpck命令验证用户和组账号文件 85
7.2 用户账号维护命令 86
7.2.1 useradd 86
7.2.2 usermod 87
7.2.3 userdel 88
7.3 组账号维护命令 88
7.3.1 groupadd 88
7.3.2 groupmod 89
7.3.3 groupdel 89
7.4 口令维护命令 89
7.4.3 chfn 90
7.4.2 gpasswd 90
7.4.1 passwd 90
7.4.4 chsh 91
7.5 用户和组状态命令 91
7.5.1 id 91
7.5.2 whoami 92
7.5.3 su 92
7.5.4 groups 93
7.6 SetUID和SetGID程序 93
7.7 临时禁用用户账号 94
7.8 使用Red Hat用户管理器管理用户和组 94
7.8.1 使用Red Hat用户管理器管理用户账号 95
7.8.2 使用Red Hat用户管理器管理组群 98
第8章 权限与文件系统安全 100
8.1 文件权限的基本知识 100
8.1.1 根用户root的权限 100
8.1.2 重要文件的权限 101
8.2 设置文件与目录的访问权限 104
8.2.1 基本权限与特殊权限 104
8.2.2 使用chmod命令改变文件/目录的权限 106
8.2.3 使用文件管理器设定文件/目录权限 108
8.2.4 使用umask命令设置权限 109
8.2.5 使用chgrp/chown命令改变文件/目录的所有权 109
9.1 RPM软件包的基础知识 111
第9章 软件包管理 111
9.1.1 RPM包的名称格式 112
9.1.2 安装RPM包 113
9.1.3 查询RPM包 113
9.1.4 删除RPM包 115
9.1.5 升级RPM包 115
9.1.6 刷新RPM包 116
9.2 使用Ret Hat软件包管理器 116
9.2.1 使用软件包管理器安装新的程序 116
9.2.2 使用软件包管理器删除程序 117
第10章 备份和压缩 119
10.1 备份的基础知识 119
10.2 使用tar命令进行备份 122
10.2.1 使用tar命令备份整个系统 123
10.2.2 备份文件系统到SCSI磁带驱动器 124
10.2.3 恢复备份文件 124
10.2.4 备份操作实例 125
10.2.5 tar命令其他用法 125
10.3 使用dump命令和restore命令 126
10.3.1 使用dump命令执行备份 126
10.3.2 使用restore命令执行还原 128
10.4 压缩的基础知识 129
10.4.1 常用压缩命令与压缩工具 130
10.4.2 图形化的压缩/解压缩工具 139
11.1.1 查看在线用户 144
11.1 查看登录的用户 144
第11章 系统监视与进程管理 144
11.1.2 查看用户的行为 146
11.2 系统监视 147
11.2.1 使用top命令 148
11.2.2 查看内存使用情况 151
11.3 进程管理 152
11.3.1 使用ps命令获得进程状态 152
11.3.2 使用kill命令删除进程 156
11.3.3 控制进程的优先级 157
11.3.4 使用系统监视器 158
11.3.5 作业控制 159
11.4 守护进程 160
11.4.1 守护进程的基础知识 160
11.4.2 守护进程管理工具 162
11.5 日志文件管理 164
11.5.1 常见的日志文件 165
11.5.2 查看文本日志文件 165
第12章 Linux下的网络管理初步 167
12.1 网络的基础知识 167
12.2 TCP/IP协议基础 168
12.2.1 TCP/IP网络模型 168
12.2.2 TCP/IP网络相关概念 169
12.3.1 ping命令 173
12.3 Linux的常用网络命令 173
12.3.2 netstat命令 174
12.3.3 ifconfig命令 175
12.4 建立局域网 176
12.4.1 建立普通以太网连接 176
12.4.2 建立无线以太网连接 180
12.5 连接到Internet 182
12.5.1 建立调制解调器连接 182
12.5.2 建立ISDN连接 183
第13章 配置DHCP服务器 185
13.1 DHCP服务的基础知识 185
13.1.1 DHCP服务简介 185
13.1.2 DHCP服务的安装 186
13.2 DHCP服务器的配置 187
13.2.1 配置文件的格式 189
13.2.2 配置IP作用域 191
13.2.3 设置客户端的IP选项 192
13.2.4 设置租约限期 193
13.2.5 保留特定的IP地址 194
13.3 启动和停止DHCP服务 194
13.4 配置DHCP客户端 195
13.4.1 手工配置DHCP客户端 196
13.4.2 图形化配置DHCP客户端 196
13.4.3 在Windows中配置DHCP客户端 197
14.1.1 DNS框架结构 199
14.1 DNS的基础知识 199
第14章 配置DNS服务器 199
14.1.2 DNS规划 200
14.1.3 hosts文件 200
14.2 在Linux下架设DNS服务器 201
14.3 安装chroot软件包 202
14.4 配置主要名称服务器 203
14.4.1 主配置文件 203
14.4.2 设置根区域 205
14.4.3 设置主区域 206
14.4.4 设置反向解析区域 207
14.4.6 区域文件 208
14.4.5 根服务器信息文件named.ca 208
14.4.7 反向解析区域文件 211
14.4.8 实现负载均衡功能 212
14.4.9 实现直接解析域名 213
14.4.10 实现泛域名的解析 213
14.4.11 主要名称服务器的测试 214
14.5 配置辅助名称服务器 219
14.6 配置缓存Cache-only服务器 220
14.7 启动和停止DNS服务 221
14.8 DNS客户端的配置 222
14.8.1 Linux中DNS客户端的配置 222
14.8.2 Windows中DNS客户端的配置 223
15.1 FTP服务器简介 225
第15章 配置FTP服务器 225
15.2 安装VSFTPD服务器 226
15.3 启动和关闭VSFTPD服务 228
15.4 VSFTPD服务器的配置 229
15.4.1 VSFTPD的文件结构 229
15.4.2 vsftpd.conf文件说明 230
15.4.3 VSFTPD的参数设置 233
15.5 实例——配置VSFTPD服务器 240
15.5.1 允许匿名用户上传文件 240
15.5.2 限制用户的目录 240
15.5.3 基于IP地址的虚拟FTP服务器 241
15.5.4 配置文件的设置 241
15.6.1 Windows平台下访问FTP主机 243
15.6 客户端访问FTP主机 243
15.6.2 Linux平台下访问FTP服务器 245
第16章 使用iptables防火墙 246
16.1 防火墙的概述 246
16.1.1 防火墙的分类 247
16.1.2 防火墙的工作原理 248
16.2 使用iptables实现包过滤型防火墙 249
16.2.1 iptables概述及原理 249
16.2.2 iptables传输数据包的过程 249
16.2.3 iptables的优点 250
16.2.4 iptables的基础知识 250
16.3 关闭系统防火墙 252
16.3.1 iptables命令格式 253
16.3.2 iptables命令的使用 254
16.4 配置规则的一些建议 260
16.5 安全级别配置工具 260
16.6 NAT的基本原理 262
16.6.1 NAT服务概念 262
16.6.2 NAT服务的工作原理 262
16.6.3 NAT服务的基本类型 263
16.6.4 使用iptables实现NAT服务 264
16.6.5 NAT客户端的配置 265
17.1.1 代理服务器的作用 267
17.1 Proxy(代理)服务器简介 267
第17章 配置Proxy服务器 267
17.1.2 代理服务器的硬件安装与设计 268
17.2 Squid Server简介 269
17.3 Squid代理服务器的安装 270
17.4 Squid代理服务的基本配置 270
17.5 初始化Squid 273
17.5.1 使用硬盘缓冲区的目录结构 273
17.5.2 设置错误提示信息为中文 273
17.6 启动和停止代理服务 274
17.7 代理客户端的配置 275
17.7.1 Firefox代理的配置 275
17.7.2 Windows系统下IE浏览器的设置 277
17.8 Squid Server的安全访问控制 278
17.8.1 限制网内某些IP地址用户使用代理服务器上网 279
17.8.2 限制网内用户访问某些网站 279
17.8.3 限制网内用户访问某些格式的文件 280
17.8.4 限制网内用户使用代理服务器的时间 280
17.8.5 控制网内用户使用代理服务器的并发连接数 280
17.9 启动Squid为透明代理 281
17.9.1 透明代理的简介 281
17.9.2 配置Squid代理的相关设置 281
第18章 配置WWW服务器 284
18.1 Apache简介 284
18.2.1 在字符界面下安装Apache服务 285
18.2 Apache的获取和安装 285
18.2.2 在图形界面下安装Apache服务 286
18.3 配置httpd.conf文件 287
18.4 启动和运行Apache 310
18.4 1 启动和关闭httpd服务 310
18.4.2 启动系统时自动运行httpd 311
18.5 测试Apache服务器 311
18.6 实现用户验证 311
18.7 关于CGI脚本 313
18.8 SSI/XSSI 313
18.9 虚拟主机 314
18.9.1 基于IP地址的虚拟主机 314
18.10 管理日志文件 315
18.9.2 基于名称的虚拟主机 315
18.10.1 访问日志 316
18.10.2 错误日志 318
18.10.3 查看日志文件 320
18.10.4 定义日志格式 320
18.10.5 日志分析 322
18.10.6 高级技术 322
第19章 配置Mail服务器 325
19.1 电子邮件服务概述 325
19.1.1 电子邮件系统模型 325
19.1.2 电子邮件使用的协议 326
19.2 Postfix邮件服务器系统 326
19.2.3 与Sendmail的比较 327
19.2.1 Postfix的历史 327
19.2.2 Postfix的特点 327
19.3 Postfix邮件服务的安装 328
19.4 Postfix邮件服务的配置 329
19.4.1 Postfix服务的基本配置 329
19.4.2 用户别名的配置 330
19.5 启动和停止Postfix服务 331
19.6 POP邮件服务的实现 333
19.6.1 dovecot服务的安装 333
19.6.2 dovecot服务的基本配置 335
19.6.3 启动dovecot服务并设置为自启动 335
19.7.2 Evolution的初始设置 336
19.7 邮件客户端软件 336
19.7.1 Evolution简介 336
19.7.3 使用Evolution 339
第20章 配置Samba服务器 342
20.1 Samba Server的安装 342
20.2 Samba服务的配置文件 345
20.2.1 Samba服务的主配置文件 345
20.2.2 Samba服务的地址文件 351
20.2.3 Samba服务的密码文件 351
20.3 Samba服务的文件共享 352
20.3.1 全局参数 352
20.3.2 用户映射 354
20.3.4 设置共享目录 355
20.3.3 使用加密口令 355
20.3.5 宏变量 356
20.4 Samba服务的打印共享 356
20.5 启动和停止Samba服务 357
20.6 Linux客户端的访问 358
20.6.1 利用主机名访问共享资源 358
20.6.2 利用smbclient访问共享资源 359
20.6.3 使用smbmount/smbumount 360
20.6.4 Windows客户端的访问 360
20.7 图形化配置Samba服务器 361
21.2 Telnet服务的安装 365
第21章 配置与应用Telnet和SSH服务 365
21.1 Telnet服务概述 365
21.3 启动和停止Telnet服务 367
21.4 Telnet客户端的使用 368
21.4.1 Windows平台 368
21.4.2 Linux平台 369
21.5 Telnet服务的安全问题 369
21.5.1 Telnet服务最大连接数 370
21.5.2 不允许root直接通过Telnet登录 370
21.5.3 Telnet服务端口 371
21.6 SSH服务概述 371
21.6.3 SSH的应用 372
21.6.2 SSH服务简介 372
21.6.1 SSH的基本原理 372
21.7 SSH服务的安装 373
21.8 SSH服务的配置 373
21.9 启动和停止SSH服务 377
21.10 SSH客户端的使用 378
21.10.1 Windows平台下SSH的使用 378
21.10.2 Linux平台下SSH的使用 380
21.11 使用公钥认证 380
21.11.1 公钥认证的原理 380
21.11.2 在服务器端启动公钥认证 381
21.11.3 Windows下PUTTY程序使用公钥认证 381
21.11.4 在openssh-clients程序中使用公钥认证 383
第22章 Linux的网络安全 385
22.1 Linux是否安全 385
22.2 Linux系统中的病毒 386
22.2.1 Linux系统病毒的发展历史 386
22.2.2 杀毒软件的使用 387
22.3 防范黑客攻击 388
22.3.1 黑客攻击行为方法 388
22.3.2 特洛伊木马 389
22.3.3 入侵检测方法 390
22.4 Linux安全管理经验 391
22.4.1 阻截黑客入侵 391
22.4.2 对付特洛伊木马 392
22.4.3 提高Linux系统安全的其他方法 393
附录A 在虚拟机中安装Linux 401
A.1 虚拟机简介 401
A.2 VMware和Virtual PC 402
A.2.1 VMware 402
A.2.2 Virtual PC 403
A.2.3 Virtual PC和VMware之间的区别 403
A.3 获得VMware Workstation 403
A.4 安装VMware Workstation 404
A.5 新建虚拟机 405
A.6 在虚拟机中安装Linux 408