第1章 Red Hat Enterprise Linux 7.0系统简介 1
1.1 Linux简介 1
1.1.1 UNIX操作系统的诞生 1
1.1.2 GNU早期简史 2
1.1.3 POSIX标准历史 3
1.1.4 Linux概述 3
1.1.5 Linux和开源软件的商业化 4
1.1.6 Linux和开源软件的商业模式 5
1.2 Linux内核及其发行版本 6
1.2.1 Linux发行版本概述 6
1.2.2 Linux内核的变迁 6
1.2.3 Linux主要发行版本 8
1.3 Red Hat Enterprise Linux简介 10
1.3.1 发展轨迹 10
1.3.2 RedHatEnterpriseLinux7.0简介 12
1.4 相比上一个版本Red Hat Enterprise Linux 7.0的主要变化 19
1.5 管理命令和配置文件中的变化 20
第2章 Red Hat Enterprise Linux 7.0系统安装 23
2.1 了解硬件需求与兼容性 23
2.1.1 Linux硬件驱动现状 23
2.1.2 主要硬件的兼容性 24
2.1.3 收集硬件信息 24
2.1.4 检查系统硬件是否存在大的缺陷 26
2.1.5 获取Red Hat Enterprise Linux 7.0兼容性列表 26
2.2 安装RedHatEnterpriseLinux7.0 27
2.2.1 使用本地光盘介质安装 Red HatEnterprise Linux 7.0 27
2.2.2 首次启动Red Hat Enterprise Linux 7.0的配置 40
2.3 进入单用户模式重新设置root 密码 42
2.4 网络安装 44
2.4.1 安装Linux的几种方法 44
2.4.2 配置PXE服务器 44
2.5 卸载RedHatEnterpriseLinux7.0 49
第3章 配置Linux时间服务器 50
3.1 时间服务概述 50
3.1.1 时间服务简介 50
3.1.2 NTP的网络体系结构和工作原理 51
3.1.3 NTP如何工作 52
3.1.4 NTP的工作模式 52
3.1.5 选择NTP服务器 52
3.2 配置Linux ntpd网络时间服务器 53
3.2.1 ntpd服务器配置 53
3.2.2 NTP服务的配置文件 53
3.3 NTP客户端应用 57
3.3.1 使用Linux NTP客户端 57
3.3.2 在Windows系统中使用NTP校时 58
3.4 使用Chrony设置时间与时钟服务器同步 59
3.4.1 Chrony简介 59
3.4.2 安装配置Chrony 60
3.4.3 配置实例 61
3.4.4 chronyd命令 61
3.4.5 Chrony的操作 62
3.4.6 在客户端配置时间同步服务器 62
第4章 配置Linux DHCP服务器 64
4.1 DHCP服务器的工作原理 64
4.1.1 DHCP简介 64
4.1.2 为什么使用DHCP 64
4.1.3 DHCP的工作流程 64
4.2 安装DHCP服务器 65
4.2.1 DHCP配置文件 65
4.2.2 配置实例 67
4.2.3 启动DHCP服务器 68
4.2.4 设置DHCP客户端 70
第5章 安装配置DNS服务器 73
5.1 DNS简介 73
5.1.1 DNS服务器的工作原理 73
5.1.2 域名服务的解析原理和过程 75
5.1.3 DNS分类 76
5.1.4 DNS常用术语 77
5.2 Linux DNS服务器简介 77
5.2.1 DNS配置文件组 77
5.2.2 DNS资源记录格式 78
5.3 DNS服务器和客户端配置 80
5.3.1 安装服务器软件包 80
5.3.2 BIND主配置文件named.conf 80
5.3.3 内网区文件设置 83
5.3.4 外网区文件设置 84
5.3.5 内网反向查询文件设置 84
5.3.6 外网反向查询文件设置 85
5.3.7 防火墙和SELinux设置 85
5.3.8 启动DNS服务器 85
5.3.9 配置辅助域名服务器 86
5.3.10 DNS客户端配置 86
5.3.11 配置chroot环境 89
5.4 DNS故障排除工具 90
5.4.1 dlint简介 90
5.4.2 DNS服务器的工作状态检查 91
第6章 安装配置LinuxNIS服务器 96
6.1 NIS简介 96
6.1.1 NIS概述 96
6.1.2 NIS的体系结构 96
6.1.3 NIS常用术语和控制NIS服务的主要文件 97
6.1.4 NIS服务的C/S模式 98
6.2 NIS服务器配置 98
6.2.1 环境说明 98
6.2.2 配置NIS服务器 99
6.2.3 配置NIS客户端 101
第7章 安装配置Linux NFS服务器 103
7.1 NFS服务器的工作原理 103
7.1.1 NFS简介 103
7.1.2 为何使用NFS 103
7.1.3 NFS协议 104
7.1.4 RPC简介 105
7.2 安装及配置NFS服务器 106
7.2.1 安装软件包 106
7.2.2 配置/etc/exports文件 106
7.2.3 启动服务 107
7.2.4 exportfs命令 107
7.2.5 检验目录/var/lib/nfs/xtab 108
7.2.6 showmount 108
7.2.7 观察激活的端口 108
7.3 NFS的防火墙和SELinux设置 108
7.3.1 NFS的防火墙设置 108
7.3.2 NFS的SELinux设置 109
7.4 NFS客户端配置 111
7.4.1 软件包的安装及配置 111
7.4.2 使用mount命令 111
7.4.3 扫描可以使用的NFS服务器目录 112
7.4.4 卸载NFS网络文件系统 113
7.4.5 应用实例 113
7.4.6 其他挂载NFS文件系统的方法 113
第8章 Linux服务器的远程控制 115
8.1 SSH服务器的工作原理 115
8.1.1 SSH服务器和客户端工作流程 115
8.1.2 SSH的安全验证 115
8.2 配置OpenSSH服务器和使用SSH客户端 116
8.2.1 安装与启动OpenSSH 116
8.2.2 配置文件 117
8.2.3 配置使用口令验证登录服务器的实例 117
8.3 应用SSH客户端 119
8.3.1 SSH客户端工具 119
8.3.2 生成密钥对 123
8.3.3 图形界面工具gFTP 124
8.3.4 使用Windows SSH客户端登录OpenSSH服务器 125
8.4 Linux和Windows之间的桌面远程控制 130
8.4.1 使用Windows的桌面远程控制Linux 130
8.4.2 使用RHEL 7的桌面远程控制Windows 132
8.4.3 Xming+PuTTY在Windows下远程Linux主机使用图形界面的程序 133
8.5 SSH服务器的高级应用 133
8.5.1 使用sshpass 133
8.5.2 使用fail2ban 134
8.5.3 让sftp在chroot环境下运行 136
第9章 安装配置LinuxSamba服务器 137
9.1 Samba简介 137
9.1.1 什么是Samba 137
9.1.2 SMB协议 137
9.1.3 Samba软件简介 138
9.2 安装及配置Samba服务器 139
9.2.1 安装Samba服务器 139
9.2.2 防火墙和SELinux设置 140
9.2.3 Samba主配置文件smb.conf 140
9.3 Samab配置实例 146
9.3.1 Samab配置实例1 146
9.3.2 Samab配置实例2 147
9.3.3 创建Samba用户账号 148
9.3.4 使用Windows域控制器进行Linux账户管理 150
9.4 Samba客户端的使用 152
9.4.1 客户端为Linux系统 152
9.4.2 客户端为Windows系统 153
第10章 安装配置Lin.ux Squid代理服务器 154
10.1 代理服务器介绍 154
10.1.1 各种代理服务器的比较 154
10.1.2 代理服务器运作方式 154
10.1.3 代理服务器的种类 156
10.2 Squid代理服务器 156
10.2.1 Squid的安装 157
10.2.2 Squid配置文件squid.conf 158
10.2.3 匿名Squid服务器设置 161
10.2.4 需要身份验证的Squid服务器设置 162
10.2.5 Squid反向代理服务器的设置 163
10.2.6 正向代理服务器的客户端设置 163
10.3 Squid安全工具的使用 164
10.3.1 SquidClamav 164
10.3.2 SquidGuard 167
10.4 Squid代理服务器的日志 168
10.4.1 Squid日志格式 168
10.4.2 分析access.log日志文件 169
10.4.3 使用Linux命令 169
10.4.4 使用专业软件分析 169
10.4.5 Squid日志清理 172
10.5 代理服务器客户端设置 172
10.5.1 Linux客户端设置 172
10.5.2 Windows客户端设置 173
第11章 安装配置MariaDB数据库 174
11.1 数据库理论基础 174
11.1.1 数据存储方式 174
11.1.2 数据库泛型 175
11.1.3 数据库在开发中的作用 176
11.1.4 常见的数据库 176
11.1.5 为什么要使用MariaDB数据库 177
11.2 MariaDB服务器的安装与配置 178
11.2.1 安装与测试MariaDB服务器 178
11.2.2 管理服务器 179
11.2.3 MariaDB服务器的用户管理 186
11.2.4 创建、查询、使用与删除数据库 187
11.2.5 使用phpMyAdmin管理MariaDB 189
11.3 MySQL服务器数据备份、恢复 191
11.3.1 使用MySQL相关命令进行简单的本地备份 191
11.3.2 使用phpMyBackupPro备份恢复MariaDB数据库 192
11.4.MariaDB应用技巧 195
11.4.1 MariaDB忘记root密码 195
11.4.2 将MySQL迁移到MariaDB上 196
第12章 安装配置Linux目录服务 198
12.1 Linux目录服务简介 198
12.2 OpenLDAP服务器配置 199
12.2.1 OpenLDAP配置文件 199
12.2.2 OpenLDAP服务器架设流程实例 201
12.3 OpenLDAP客户端安装 206
12.3.1 OpenLDAP客户端配置文件 206
12.3.2 OpenLDAP客户端架设流程实例 207
12.4 管理Openldap 209
12.4.1 使用OpenLDAP常用命令 209
12.4.2 使用phpLDAPadmin管理OpenLDAP服务器 215
12.4.3 配置OpenLDAP使用TLS通信 216
第13章 安装配置Apache服务器 218
13.1 Web服务器软件Apache简介 218
13.1.1 Apache的工作原理 218
13.1.2 Apache服务器的特点 218
13.2 安装及配置Apache服务器 219
13.2.1 安装 219
13.2.2 启动Apache服务器并且测试 220
13.2.3 目前运行的Apache服务器的相关信息 221
13.2.4 配置用户的个人Web空间 228
13.2.5 配置基于域名虚拟主机 229
13.3 Apache服务器的访问控制、认证和授权 230
13.3.1 Apache服务器的访问控制 230
13.3.2 Apache服务器的认证和授权 231
13.4 为Apache服务器配置WebDAV 236
13.4.1 WebDAV简介 236
13.4.2 在Apache 2.x系列服务器中设置WebDAV 236
13.4.3 通过WebDAV客户端软件访问Apache服务器 238
13.5 Selinux和防火墙设置 239
13.5.1 Selinux设置 239
13.5.2 防火墙设置 239
13.6 多种开发环境语言在Linux下的整合 240
13.6.1 在Apache服务器上运行CGI 240
13.6.2 在Apache服务器上运行PHP 241
13.6.3 在Apache上运行Ruby 244
13.6.4 在Apache上运行Python 245
13.7 Apache服务器的进阶配置 247
13.7.1 Apache服务器的实时监控 247
13.7.2 Apache服务器的日志分析 248
13.7.3 使用awstats分析Apache日志 249
13.8 使用SSL可以提高Apache服务器的安全性能 251
13.9 Apache服务器的故障排除 253
13.9.1 检查配置文件的错误 253
13.9.2 使用错误日志 254
13.9.3 检查Apache服务器模块问题 256
13.9.4 解决Apache服务器故障 257
13.10 为Apache服务器配置常用模块 258
13.10.1 限速模块mod ratelimit 258
13.10.2 mod_perl模块 259
13.10.3 mod_wsgi模块 261
13.10.4 mod_evasive模块 262
第14章 Linux电子邮件服务器Postfix安装及配置 264
14.1 Linux电子邮件服务器Postfix安装及配置 264
14.1.1 操作系统 264
14.1.2 邮件传输代理(MTA) 264
14.1.3 邮件分发代理(MDA) 265
14.1.4 邮件用户代理(MUA) 265
14.1.5 电子邮件服务器协议及其相关命令 265
14.2 电子邮件服务器的工作原理 269
14.2.1 电子邮件的发送接收流程 269
14.2.2 电子邮件地址的组成 269
14.2.3 电子邮件系统和DNS的联系 270
14.3 安装及配置Postfix 271
14.3.1 Postfix的安装 271
14.3.2 Postfix的配置文件介绍 271
14.3.3 Postfix配置实例 276
14.3.4 Dovecot的安装与设置 277
14.4 安全配置 278
14.4.1 安装病毒过滤系统 278
14.4.2 日志分析 280
14.4.3 防火墙和SELinux设置 283
第15章 安装配置LinuxFTP服务器 284
15.1 FTP的工作原理 284
15.1.1 FTP简介 284
15.1.2 FTP的工作原理 285
15.1.3 FTP的典型消息和子命令 286
15.1.4 Linux服务器的主要FTP软件 288
15.2 配置vsftpd服务器 288
15.2.1 快速构建vsftpd服务器 288
15.2.2 vsftpd服务器的文件结构 288
15.2.3 vsftpd的配置文件 289
15.3 使用客户端工具 296
15.3.1 命令行 296
15.3.2 图形界面 297
第16章 构建LinuxVPN网络 301
16.1 VPN概述 301
16.1.1 VPN定义 301
16.1.2 VPN功能 302
16.1.3 Linux下的主要VPN技术 302
16.2 PPTPVPN安装及配置 305
16.2.1 PPTP及Poptop简介 305
16.2.2 PPP简介 306
16.2.3 在Linux下安装及配置PPTP服务器 307
16.3 OpenVPN安装及配置 311
16.3.1 OpenVPN简介 311
16.3.2 OpenVPN服务器安装及配置 312
16.3.3 Windows客户端设置 315
16.3.4 智能手机客户端配置 316
第17章 新一代服务管理系统Systemd 318
17.1 Systemd简介 318
17.1.1 Systemd的简介和特点 318
17.1.2 Systemd日志服务简介 319
17.1.3 Systemd中的Unit概念 320
17.2 Systemd的使用 323
17.2.1 Unit文件的编写 323
17.2.2 创建自己的Systemd服务 326
17.3 系统管理员需要掌握的命令 326
17.3.1 sysvinit和systemd的命令对比 327
17.3.2 学习使用systemctl命令 328
17.3.3 应用实例 329
17.3.4 其他设置 337
17.4 旧版本遗留的服务工具 339
17.4.1 chkconfig 340
17.4.2 ntsysv 341
17.4.3 Xinetd 342
17.4.4 TCP Wrappers 346