第1章 概述与安装 1
1.1 概述 1
1.1.1 Linux的历史与应用前景 1
1.1.2 Linux主要的发行版本 1
1.1.3 RedHat Linux简介 2
1.2 RHEL 7.0的安装 2
1.2.1 光盘安装 2
1.2.2 网络安装 8
1.3 小结 9
1.4 思考与练习 9
第2章 命令与示例 10
2.1 常用命令与示例 10
2.1.1 文件基本操作命令 10
2.1.2 用户、组管理命令 15
2.1.3 文件属性操作命令 17
2.1.4 i节点及其相关命令 21
2.1.5 查找命令 23
2.1.6 文件内容操作命令 25
2.1.7 压缩与打包命令 27
2.1.8 挂装与卸载命令 28
2.1.9 网卡配置命令 28
2.1.10 rpm命令 29
2.1.11 帮助命令 30
2.1.12 定时器命令 31
2.1.13 查看进程命令 32
2.1.14 其他命令 33
2.2 管道与重定向 35
2.2.1 管道 35
2.2.2 输出重定向 35
2.2.3 输入重定向 36
2.3 vi编辑器使用简介 36
2.3.1 vi的工作方式 36
2.3.2 vi的常用命令 37
2.4 正则表达式简介 38
2.4.1 正则表达式的基本语法 38
2.4.2 正则表达式的应用示例 39
2.5 小结 40
2.6 思考与练习 41
第3章 shell编程基础 42
3.1 shell脚本简介 42
3.1.1 编写第一个shell脚本 42
3.1.2 注释 42
3.1.3 执行shell脚本程序的一般方法 43
3.2 shell变量与环境变量 43
3.2.1 定义shell变量 43
3.2.2 访问shell变量 45
3.2.3 清除shell变量 48
3.2.4 环境变量 49
3.2.5 位置参数 50
3.2.6 特殊变量 51
3.2.7 引用 52
3.2.8 变量替换 53
3.3 流程控制结构 55
3.3.1 顺序结构 55
3.3.2 条件测试 56
3.3.3 分支结构 60
3.3.4 循环结构 63
3.4 shell函数 67
3.4.1 函数的定义 67
3.4.2 函数的调用与执行 68
3.4.3 参数的传递 69
3.4.4 函数的返回 70
3.5 小结 70
3.6 思考与练习 70
第4章 DNS服务 72
4.1 BIND概述 72
4.1.1 BIND的安装 72
4.1.2 域名解析相关的配置文件介绍 73
4.2 BIND主配置文件 74
4.2.1 BIND主配置文件named.conf 74
4.2.2 区域配置文件named.rfc 1912.zones 76
4.3 正向区域数据库文件 78
4.3.1 SOA资源记录的含义 79
4.3.2 典型的正向资源记录 80
4.4 反向区域数据库文件 80
4.5 运行与测试 81
4.5.1 运行DNS服务 82
4.5.2 测试DNS服务 83
4.6 辅DNS 85
4.6.1 主辅DNS的关系 85
4.6.2 辅DNS的配置 86
4.6.3 测试辅DNS 86
4.7 子域 87
4.7.1 父子域在同一台DNS服务器上 87
4.7.2 父子域在不同的DNS服务器上——区域委派 88
4.8 高级配置 89
4.8.1 配置使用转发器forwarder 89
4.8.2 访问控制 90
4.8.3 负载平衡 91
4.9 小结 91
4.10 思考与练习 91
第5章 DHCP服务 93
5.1 DHCP概述 93
5.1.1 DHCP的工作机制 93
5.1.2 DHCP的安装 94
5.2 DHCP服务器端配置 94
5.2.1 基本配置 95
5.2.2 配置IP地址与MAC地址绑定 95
5.2.3 配置超级作用域 96
5.3 DHCP客户端配置 97
5.3.1 Windows客户端配置 97
5.3.2 Linux客户端配置 98
5.4 配置基于类别的DHCP服务 99
5.4.1 基于类别的DHCP服务器端的配置 100
5.4.2 基于类别的DHCP客户端的配置 101
5.5 配置DDNS服务 103
5.5.1 DDNS服务的概念 103
5.5.2 生成动态更新密钥 104
5.5.3 配置DNS服务支持动态更新 104
5.5.4 配置DHCP服务支持动态更新 105
5.5.5 测试DDNS服务 106
5.6 小结 109
5.7 思考与练习 109
第6章 Apache服务 110
6.1 Apache概述 110
6.1.1 Apache的功能 110
6.1.2 Apache的安装 111
6.1.3 Apache的运行 111
6.2 Apache的配置文件 112
6.2.1 Apache配置文件的结构 112
6.2.2 Apache配置指令 113
6.3 Apache的配置示例 118
6.3.1 主机访问控制 118
6.3.2 用户访问控制 119
6.3.3 虚拟主机 122
6.4 Apache的高级配置 126
6.4.1 重定向 126
6.4.2 重写规则 127
6.5 小结 136
6.6 思考与练习 136
第7章 VSFTPD服务 137
7.1 VSFTPD概述 137
7.1.1 FTP概述 137
7.1.2 VSFTPD的特点 137
7.1.3 VSFTPD的安装 138
7.1.4 VSFTPD的运行 138
7.2 VSFTPD的配置文件 138
7.2.1 VSFTPD默认的配置指令 138
7.2.2 测试 139
7.3 VSFTPD的配置示例 140
7.3.1 匿名FTP服务器 140
7.3.2 配置chroot 142
7.3.3 主机访问控制 145
7.3.4 用户访问控制 147
7.3.5 基于不同IP地址的虚拟主机 150
7.3.6 监听非标准端口 152
7.3.7 配置虚拟用户FTP服务器 153
7.4 小结 157
7.5 思考与练习 157
第8章 Samba服务 159
8.1 Samba概述 159
8.1.1 Samba的功能 159
8.1.2 Samba的特点 159
8.1.3 Samba的运行 159
8.2 Samba的配置文件 160
8.2.1 Samba配置文件的结构 160
8.2.2 Samba服务基本的配置指令 160
8.3 Samba的配置示例 162
8.3.1 添加Samba用户 162
8.3.2 配置NETBIOS名称 162
8.3.3 访问Samba服务器及Windows上的共享资源 163
8.3.4 主机访问控制 168
8.3.5 用户访问控制 169
8.3.6 用Samba充当活动目录中的成员服务器 170
8.4 小结 179
8.5 思考与练习 179
第9章 iptables 180
9.1 Linux防火墙概述 180
9.1.1 Linux防火墙的架构 180
9.1.2 netfilter/iptables的功能 180
9.1.3 数据包通过iptables的流程 181
9.1.4 激活IP转发功能 182
9.2 iptables基础 182
9.2.1 iptables语法格式中的命令 183
9.2.2 iptables语法格式中的参数 184
9.2.3 iptables语法格式中的目标动作 188
9.3 iptables应用示例 190
9.3.1 filter表的应用示例 190
9.3.2 nat表的应用示例 192
9.4 小结 196
9.5 思考与练习 196
第10章 Postfix 197
10.1 Postfix概述 197
10.1.1 MUA、MTA和MSA 197
10.1.2 邮箱及相关命令 197
10.2 Postfix配置文件及相关数据库 199
10.2.1 Postfix配置文件 200
10.2.2 Postfix常用的数据库 204
10.3 Postfix配置示例 205
10.3.1 两台邮件服务器互发邮件 205
10.3.2 配置带SMTP认证的Postfix服务 210
10.4 小结 213
10.5 思考与练习 213
第11章 SSH 214
11.1 SSH概述 214
11.2 SSH基础示例 214
11.2.1 安全远程登录 214
11.2.2 scp 215
11.2.3 sftp 216
11.3 SSH应用示例 217
11.3.1 采用公钥认证登录 217
11.3.2 主机访问控制 219
11.3.3 用户访问控制 220
11.3.4 端口重定向 221
11.3.5 X11转发 222
11.3.6 ssh-agent 223
11.3.7 Windows下的SSH客户端 225
11.4 小结 226
11.5 思考与练习 227
第12章 OpenStack 228
12.1 OpenStack概述 228
12.1.1 OpenStack提供的服务 228
12.1.2 OpenStack架构 229
12.2 构建OpenStack云平台 230
12.2.1 基本环境配置 230
12.2.2 配置Identity Service 235
12.2.3 安装与配置OpenStack clients 240
12.2.4 配置Image Service 241
12.2.5 配置Compute services 244
12.2.6 增加networking service 253
12.2.7 启动一个实例 265
12.3 小结 267
12.4 思考与练习 267
参考文献 268