随着云计算、大数据技术,人工智能技术的快速发展,各行各业对于熟练掌握Linux应用的人才需求也日益增多。本书为广大Linux学习者而编写,主要讲述了Linux的基础知识和网络服务的部署。
本书分为三个学习情境,每个学习情境中设置了多个项目。学习情境一主要讲解Linux服务器的部署、Linux系统的维护、用户和组群的管理、服务软件的安装、文件系统安全的维护、磁盘管理、网络通信等;学习情境二主要讲解常见的DHCP、NFS、Samba、FTP、DNS、Web、电子邮件和MariaDB等网络服务的部署;学习情境三主要讲解防火墙、代理服务等系统安全管理。
本书适合作为大中专院校计算机类专业的教材,也可作为Linux爱好者的入门学习读物。
Linux作为网络操作系统,广泛应用于网络服务部署、人工智能技术、云计算、大数据技术等领域。目前,开源、安全、稳定和移植性好的Linux操作系统已成为主流网络操作系统,社会对Linux人才需求日益增多,因此,培养从事基于Linux技术的人才日趋重要。
本书共分Linux基本应用、部署Linux网络服务和Linux系统安全管理三个学习情境。每个学习情境下设若干项目,全书总共17个项目,其内容包括Linux服务器的部署、Linux系统的维护、用户和组群的管理、服务软件的安装、文件系统安全的维护、磁盘管理、网络通信等Linux基本应用,DHCP、NFS、Samba、FTP、DNS、Web、电子邮件、MariaDB等网络服务的部署,以及防火墙、代理服务等系统安全管理。每个知识点通过相关项目诠释了对应的Linux基本知识点和技能点以及项目开发技巧,强调了工学结合,实现了专业技能培养的实战化教学。
本书的主要特色有:
(1) 与高职学生认知接轨。
基于高职学生的认知特点,书中配置的实验尽可能从图形化界面入手,同时保证命令行操作的完备。本书内容由浅入深,每个项目都设置了知识准备(基础知识)、项目实施(基础实训)、反思与进阶(提高性实训)和项目小结,最后设置有练习题,有助于学生循序渐进地学习相关技能。
(2) 与技能大赛接轨。
近年来,在全国高等职业院校技能大赛中,云计算技术与应用、大数据技术与应用等多个赛项都是基于Linux平台来搭建、配置和部署各种网络服务的。本书覆盖了竞赛中所需的Linux系统基本技能和要求。
(3) 与“1+X”证书制度接轨。
自2019年“1+X”证书制度试点工作开展以来,许多企业推出的“X”证书中都涉及Linux基本技能。经过梳理和总结,本书融合了所有有关Linux方面的职业技能考核标准。
(4) 与岗位实际接轨。
本书采用“项目导向,任务驱动”的 “教、学、做”一体的工学结合模式。每一个项目都分为项目引入、需求分析、知识准备、项目实施、反思与进阶等几部分,通过项目引入和需求分析帮助学生梳理解决问题所需的技能,通过知识准备、项目实施提高学生的实践技能,通过反思与进阶提升学生解决实际问题的能力,进而培养学生进行项目开发的良好习惯。
本书内容安排从易到难,采用项目教学,可操作性强。不管是Linux初学者,还是广大的Linux爱好者,都可以通过本书轻松掌握Linux基本应用和网络服务部署。
本书由咸阳职业技术学院和南京第五十五所技术开发有限公司共同编写,咸阳职业技术学院魏迎担任主编,张卫婷和屈毅担任副主编,陕西工业职业技术学院殷锋社担任主审。具体编写分工为:项目1~10由魏迎编写,项目11、12由张卫婷编写,项目13、14由屈毅编写,项目15由南京第五十五所技术开发有限公司顾旭峰编写,项目16由咸阳职业技术学院李焕编写,项目17由陕西省自强中等专业学校王宁编写。全书由魏迎统稿。
本书在编写过程中参考了一些互联网上的资料,由于网络上资料众多,引用复杂,无法一一注明原出处,在此向原作者表示感谢!由于作者水平有限,书中难免存在疏漏和不妥之处,恳请读者批评指正,作者不胜感激。
项目1 部署Linux服务器 2
1.1 知识准备 2
1.1.1 Linux简介 2
1.1.2 Linux体系结构 3
1.1.3 Linux的版本 4
1.1.4 常见的Red Hat Linux相关产品 5
1.1.5 Linux系统的特点 5
1.1.6 桌面环境 6
1.1.7 Linux与Windows的区别 7
1.1.8 Linux的应用 7
1.2 项目实施 8
1.2.1 VMware虚拟机的使用 8
1.2.2 Red Hat Enterprise Linux 7.6的
安装 13
1.2.3 Red Hat Enterprise Linux 7.6的
配置 20
1.2.4 Linux运行级别 23
1.3 反思与进阶 24
项目小结 27
练习题 27
项目2 维护Linux系统 28
2.1 知识准备 28
2.1.1 Linux 命令基础 28
2.1.2 目录操作命令 30
2.1.3 文件操作命令 32
2.1.4 压缩和归档命令 38
2.1.5 其他命令 39
2.1.6 重定向和管道 40
2.1.7 Vim编辑器的使用 41
2.1.8 Shell编程 44
2.2 项目实施 47
2.3 反思与进阶 47
项目小结 49
练习题 49
项目3 部署用户和组群 51
3.1 知识准备 51
3.1.1 Linux用户和组 51
3.1.2 用户配置文件 52
3.1.3 用户管理 54
3.1.4 批量用户管理工具 60
3.1.5 用户组配置文件 61
3.1.6 组群管理 62
3.1.7 桌面环境下管理用户和组群 64
3.2 项目实施 67
3.3 反思与进阶 67
项目小结 70
练习题 70
项目4 安装服务软件 72
4.1 知识准备 72
4.1.1 Linux中软件常用的安装方式 72
4.1.2 RPM包管理 72
4.1.3 通过YUM安装软件 74
4.1.4 源码包安装 77
4.2 项目实施 78
4.2.1 使用RPM安装OpenOffice
办公软件 78
4.2.2 使用RPM安装DHCP服务 81
4.3 反思与进阶 82
项目小结 84
练习题 84
项目5 维护文件系统的安全 85
5.1 知识准备 85
5.1.1 Linux文件系统 85
5.1.2 文件权限的概念 88
5.1.3 一般权限的设置 91
5.1.4 特殊权限的设置 93
5.1.5 ACL 94
5.2 项目实施 95
5.3 反思与进阶 97
项目小结 99
练习题 99
项目6 磁盘管理 101
6.1 知识准备 101
6.1.1 Linux环境下的设备 101
6.1.2 设备的使用 102
6.1.3 LVM管理 113
6.1.4 RAID管理 118
6.1.5 磁盘配额 119
6.2 项目实施 120
6.3 反思与进阶 123
项目小结 125
练习题 126
项目7 网络通信 127
7.1 知识准备 127
7.1.1 网络配置参数 127
7.1.2 其他网络配置文件 135
7.1.3 网络调试工具 136
7.1.4 守护进程 139
7.1.5 iproute2 141
7.1.6 SSH远程登录服务 143
7.2 项目实施 147
7.3 反思与进阶 148
项目小结 150
练习题 151
学习情境二 部署Linux网络服务
项目8 部署DHCP服务 154
8.1 知识准备 154
8.1.1 DHCP简介 154
8.1.2 DHCP工作原理 155
8.2 项目实施 157
8.2.1 安装DHCP服务 157
8.2.2 修改主配置文件dhcpd.conf 159
8.2.3 启动与停止DHCP服务 163
8.2.4 配置DHCP 客户端 163
8.2.5 大型网络的DHCP部署 166
8.3 反思与进阶 167
项目小结 170
练习题 170
项目9 部署NFS服务 172
9.1 知识准备 172
9.1.1 NFS简介 172
9.1.2 NFS工作原理 173
9.2 项目实施 174
9.2.1 安装NFS服务 174
9.2.2 修改主配置文件/etc/exports 174
9.2.3 启动与停止NFS服务 176
9.2.4 配置NFS客户端 177
9.2.5 利用exportfs输出目录 178
9.2.6 自动挂载autofs 179
9.3 反思与进阶 181
项目小结 183
练习题 184
项目10 部署Samba服务 185
10.1 知识准备 185
10.1.1 Samba简介 185
10.1.2 Samba工作原理 186
10.1.3 桌面环境下安装Samba服务 186
10.2 项目实施 188
10.2.1 Samba服务的配置文件 188
10.2.2 启动与停止Samba服务 194
10.2.3 配置Samba客户端 194
10.2.4 用户账号映射 199
10.3 反思与进阶 199
项目小结 204
练习题 204
项目11 部署FTP服务 206
11.1 知识准备 206
11.1.1 FTP简介 206
11.1.2 FTP工作原理 207
11.1.3 FTP服务的传输模式 207
11.1.4 FTP体系结构 208
11.1.5 FTP服务的相关软件 208
11.1.6 vsftpd的用户类型 208
11.2 项目实施 209
11.2.1 安装vsftpd服务 210
11.2.2 vsftpd的配置文件 211
11.2.3 启动与停止vsftpd服务 217
11.2.4 测试 218
11.3 反思与进阶 223
项目小结 226
练习题 226
项目12 部署DNS服务 228
12.1 知识准备 228
12.1.1 域名解析基本概念 228
12.1.2 域名空间 229
12.1.3 域名解析过程 230
12.1.4 DNS服务器类型 233
12.1.5 资源记录 233
12.2 项目实施 235
12.2.1 安装DNS服务 235
12.2.2 启动与停止DNS服务 237
12.2.3 DNS服务器的配置文件 237
12.2.4 DNS客户端配置 243
12.2.5 DNS服务测试 245
12.2.6 辅助DNS服务器 248
12.2.7 DNS转发器 248
12.3 反思与进阶 249
项目小结 252
练习题 252
项目13 部署Web服务 254
13.1 知识准备 254
13.1.1 Web服务器简介 254
13.1.2 LAMP模型 256
13.2 项目实施 256
13.2.1 安装Apache服务 256
13.2.2 启动与停止Apache服务 257
13.2.3 修改主配置文件httpd.conf 258
13.2.4 配置用户个人主页 260
13.2.5 配置虚拟目录 262
13.2.6 配置虚拟主机 263
13.2.7 访问控制 270
13.2.8 用户身份认证 274
13.3 反思与进阶 275
项目小结 278
练习题 278
项目14 部署电子邮件服务 280
14.1 知识准备 280
14.1.1 电子邮件服务简介 280
14.1.2 邮件中继 283
14.2 项目实施 284
14.2.1 安装sendmail服务 284
14.2.2 启动与停止sendmail服务 285
14.2.3 sendmail的配置文件 285
14.2.4 部署sendmail服务 286
14.2.5 配置Dovecot POP3服务 291
14.2.6 sendmail认证 293
14.3 反思与进阶 294
14.3.1 Postfix简介 294
14.3.2 使用Postfix部署邮件服务器 295
项目小结 297
练习题 297
项目15 部署MariaDB服务 298
15.1 知识准备 298
15.1.1 数据库的相关概念 298
15.1.2 MariaDB简介 299
15.2 项目实施 300
15.2.1 安装MariaDB数据库 300
15.2.2 启动与停止MariaDB数据库 301
15.2.3 初始化MariaDB 302
15.2.4 MariaDB的安全设置 303
15.2.5 MariaDB的基本操作 305
15.2.6 部署WordPress博客系统 313
15.3 反思与进阶 319
项目小结 320
练习题 320
学习情境三 Linux系统安全管理
项目16 部署Linux防火墙 324
16.1 知识准备 324
16.1.1 防火墙简介 324
16.1.2 防火墙分类 325
16.1.3 Linux防火墙的组成 328
16.2 项目实施 330
16.2.1 安装firewalld服务 330
16.2.2 firewalld区域管理 331
16.2.3 启动与停止firewalld服务 332
16.2.4 firewalld图形界面配置 332
16.2.5 命令行工具firewall-cmd 333
16.2.6 firewalld应用 337
16.2.7 NAT技术 340
16.3 反思与进阶 341
项目小结 345
练习题 345
项目17 部署代理服务 347
17.1 知识准备 347
17.1.1 代理服务器简介 347
17.1.2 代理服务器工作原理 348
17.2 项目实施 348
17.2.1 squid简介 348
17.2.2 安装squid服务 349
17.2.3 启动与停止squid服务 350
17.2.4 客户端配置 350
17.2.5 配置squid服务 352
17.2.6 访问控制列表ACL 354
17.3 反思与进阶 357
项目小结 360
练习题 360
习题参考答案 362
参考文献 368