内容简介
本书根据企业Linux工程师的实际工作背景,结合高职学生的学习特点、Linux网络操作系统职业应用背景,精心选择和组织教学内容,在保持知识先进性的同时,注意降低学习难度,以激发学生的兴趣。
书中分为6个大的项目任务,其中各项目中包含具体细化的学习情境,任务目标清晰,流程完整,学生通过完成各个项目任务,可以轻松掌握CentOS 7网络操作系统知识及其他必备的知识和技能。
本书内容包括基本应用、服务配置、管理运维、安全体系、未来发展、项目实施等,涵盖企业情境所需的方方面面,可以让学生快速融入日常工作。同时,情境设计注重了“还原真实、精简知识、理实一体、操作明晰”的原则。
本书适合作为应用型本科及高职高专院校计算机相关专业讲授Linux网络操作系统知识的实用教材,同时,也适合想要学习Linux网络操作系统知识与技能的广大读者阅读。
前 言
在作者多年的职教经验中,学生最大的几个疑问就是“学了有用吗?”“我能学会吗?”“学了就落伍怎么办?”
1. 怎么让学生学了有用
本书采用了项目导向式的教学体系,选取了最新版本的CentOS 7网络操作系统,对企业中最常用到的技能进行取材和做项目情境设计,体现了“学中做、做中学”的职业教育理念,通过必要的实践,让学生掌握工作必备的实用技能。
2. 学生能学会吗
通过对实用技能的解析,以能用、够用为基准,最大化精简知识体系,极大地降低了学生的学习难度。而“学中做、做中学”的技能训练模式,可以保证每个学生都能学会。
3. 学了就落伍怎么办
计算机技术的发展日新月异,要保证学习到的知识不落伍,需要的是终身学习的能力和对新技术的喜好与追求。本书不能让你永不落伍,但是会锻炼学生学习的本领,重视学生学习兴趣的培养,启迪学生探索未知,提高独立或协作解决问题的能力。
4. 本书分为六个项目
项目一:Linux系统的安装和基本配置。该项目主要讲解网络操作系统相关知识、在虚拟机上安装CentOS Linux、使用命令行管理方式进行系统管理以及对系统基本配置进行管理的内容。
项目二:常用服务的配置和使用。该项目主要讲解服务器和服务器软件的相关知识,配置DNS和DHCP服务器、配置Web服务器以及搭建LAMP应用环境等的知识内容。
项目三:服务器的日常管理和运维。该项目主要讲解服务器的日常管理、远程管理、数据的备份管理以及管理中的简单编程技巧。
项目四:服务器的安全管理。该项目主要讲解服务器安全管理、账号安全和权限管理、防火墙管理的相关内容。
项目五:云平台的使用。该项目主要讲解云技术的知识和如何搭建OwnCloud私有存储云。
项目六:综合实训。该项目主要通过典型实训任务,让学生综合实践前面所学的内容,以达到真正掌握技能的目的。
本书在任务内容选取上,以命令行管理配置为中心,从Linux系统的安装和基本配置开始,历经LAMP应用环境的搭建、服务器的日常管理和运维、服务器的安全管理,初步接触云平台的使用,最后从项目的全景中,剖析服务器的角色定位,通联点与面,部署综合实训任务。
本书作者通过多年的教学实践及对职场从业的实际了解,决定要精心编写出此书,编写过程中也参考了一些经典著作,在此一并表示感谢。
由于作者水平有限,书中难免存在疏漏和不足之处,恳请专家和广大读者批评指正。
编 者
目录
项目一 Linux系统的安装和基本配置 1任务一:选择适合的网络操作系统 3知识储备 31.1 网络操作系统概述 31.1.1 操作系统与网络操作系统 31.1.2 Linux网络操作系统的诞生 41.2 Windows和Linux的区别 51.2.1 Windows和Linux的设计思路不同 51.2.2 Linux的优势 61.2.3 为什么Windows服务器仍很普遍 81.2.4 我们身边的Linux 91.3 Linux和Windows的故事 101.4 选择适合的Linux发行版 121.4.1 最具影响力的Red Hat Linux及其衍生版本 121.4.2 最流行的Ubuntu及其衍生版本 131.4.3 最受好评的企业级系统RHEL/SLE 131.4.4 最好用的服务器操作系统Debian/CentOS 14任务二:在虚拟机上安装CentOS Linux 15知识储备 151.5 VMware和虚拟机 15任务实践 161.6 创建虚拟机 161.7 安装CentOS Linux 191.7.1 安装前的准备工作 191.7.2 安装步骤说明 22任务三:使用命令行方式进行系统管理 29知识储备 291.8 系统使用初步 291.8.1 命令行界面与图形用户界面 291.8.2 启动过程与常用服务 301.8.3 登录与退出系统 351.8.4 vi编辑器的使用 36任务实践 391.9 文件系统管理 391.9.1 Linux磁盘分区和目录 391.9.2 使用mount命令挂载设备分区 411.9.3 文件类型 451.9.4 查看帮助和文件查找 471.10 文件目录管理和权限管理 481.10.1 常见目录功能介绍 481.10.2 目录和文件操作 501.10.3 文件目录与权限 521.10.4 使用软连接和硬连接 56任务四:系统基本配置管理 57知识储备 581.11 用户账号管理 581.11.1 了解用户管理 581.11.2 用户账号的基本操作 601.12 网络和主机名管理 651.12.1 了解CentOS 7的网络接口 65任务实践 661.12.2 配置网络和主机名 661.12.3 暂时关闭安全机制,简化 练习环境 701.13 常用的网络管理命令 711.13.1 使用ip命令管理网络 711.13.2 网络检测命令 741.13.3 文件传输和下载 78上机实训:Linux系统的安装和基本配置 81项目二 常用服务的配置和使用 83任务一:理解服务器和服务器软件 85知识储备 852.1 了解服务器 852.1.1 服务器是什么 852.1.2 服务器的五大设计标准 862.2 服务器的简单分类 892.2.1 从外形上分类服务器 892.2.2 从应用规模分类 912.3 常见服务与对应端口 952.3.1 基础服务 952.3.2 常用服务 962.3.3 服务与端口地址 97任务实践 982.4 软件管理工具yum的使用 982.4.1 yum简介 982.4.2 yum配置 992.4.3 使用光盘作为本地库 100任务二:配置DNS和DHCP服务器 102知识储备 1022.5 DNS服务器和DHCP服务器 1022.5.1 IP地址和子网掩码 1022.5.2 默认网关 1032.5.3 DHCP动态主机配置协议 1042.5.4 DNS域名服务 105任务实践 1082.6 DHCP服务器的配置 1082.6.1 任务描述 1082.6.2 任务分析 1082.6.3 配置步骤 1092.7 DNS服务器的配置 1142.7.1 任务描述 1142.7.2 任务分析 1152.7.3 步骤说明 115任务三:配置Web服务器 124知识储备 1242.8 Web服务器是什么/为什么要使用Web服务器 1242.9 Web服务器的选择 126任务实践 1282.10 安装配置Apache Web服务器 1282.10.1 任务描述 1282.10.2 任务分析 1282.10.3 配置步骤说明 129任务四:搭建LAMP应用环境 136知识储备 1362.11 网站技术与平台搭建 1362.11.1 网络应用程序如何工作 1362.11.2 动态网页技术 1372.11.3 LAMP简介 139任务实践 1402.12 搭建简易LAMP环境 1402.12.1 安装Apache 1402.12.2 安装PHP 1412.12.3 安装MariaDB数据库 服务器 1422.12.4 安装LAMP环境的其他 操作 1432.13 MariaDB数据库的配置和使用 1442.13.1 数据库操作简介 1442.13.2 MySQL的常用命令 1492.13.3 对数据库进行管理 1502.14 一键安装LAMP 1542.14.1 LAMP一键安装包简介 1542.14.2 使用一键安装包进行LAMP 安装 1552.14.3 LAMP一键安装使用说明 1562.14.4 执行一键安装可能产生的 问题 157上机实训:常用服务的配置和使用 158项目三 服务器的日常管理和运维 159任务一:服务器的日常管理 160知识储备 1613.1 服务器的日常管理管什么 1613.1.1 对服务器硬件的日常管理和维护 1613.1.2 对服务器软件的日常管理和维护 1623.1.3 对应用与数据的管理和维护 163任务实践 1633.2 服务器日常管理的具体工作 1633.2.1 影响服务器性能的几大因素 1643.2.2 查看服务器运行情况 1653.2.3 查看服务器的日志信息 1743.3 使用定时任务功能来完成日常工作 1753.3.1 定时任务介绍 1753.3.2 创建定时任务 1763.3.3 编写Shell任务脚本并定时运行 1783.4 服务器的故障管理 1793.4.1 故障必然发生 1793.4.2 网络故障的检测与处理 179任务二:服务器的远程管理 184知识储备 1843.5 远程管理是什么/为什么要使用远程管理 184任务实践 1853.6 使用SSH进行远程管理 1853.7 使用VNC进行图形化远程管理 1883.7.1 安装图形桌面环境 1883.7.2 tigervnc服务器端配置 1893.7.3 VNC客户端配置 191任务三:服务器数据的备份管理 193知识储备 1933.8 备份的作用和必要性 1933.8.1 备份策略 1953.8.2 规划备份系统 1963.8.3 双机热备份技术 199任务实践 2003.9 使用tar命令备份文件 2003.9.1 使用tar备份文件 2003.9.2 使用tar进行完全备份和增量备份 2033.10 备份与恢复数据库 2083.10.1 数据库备份与恢复 2083.10.2 数据库备份和还原实例 212任务四:管理中的简单编程技巧 214任务实践 2143.11 使用管道和重定向 2143.11.1 在日常管理中使用管道 2153.11.2 重定向的使用方法 2173.12 必须掌握的几个命令 2193.12.1 使用find查找文件 2193.12.2 使用grep筛选信息 2203.12.3 使用cut进行内容提取 2213.12.4 sed命令的使用 2223.12.5 awk的使用 2243.13 日常管理中的Shell编程基础 2263.13.1 Shell是什么以及Shell编程 是什么 2263.13.2 必须了解的Shell编程 基础 2293.13.3 Shell编程入门技巧 232上机实训:服务器的日常管理和运维 243项目四 服务器的安全管理 245任务一:做好安全管理 246知识储备 2474.1 安全管理的起源 2474.2 安全问题与应对措施 2484.3 系统漏洞与补丁程序 2494.3.1 什么是系统漏洞 2494.3.2 补丁跟进和获取 2504.3.3 补丁测试与加载 2504.3.4 补丁验证与归档 2514.4 常见的网络攻击方式 2524.4.1 端口扫描 2524.4.2 嗅探技术 2524.4.3 木马 2534.4.4 病毒 253任务实践 254任务二:账号安全和权限管理 255知识储备 2554.5 账号和密码的安全管理 2554.5.1 普通账号的安全防护 2554.5.2 root账号的安全防护 2564.5.3 密码安全 2574.6 标准Linux访问控制与权限管理 2594.6.1 用户权限管理 2594.6.2 suid | sgid | sticky权限管理 2614.6.3 ACL访问控制管理 2624.7 SELinux高级访问控制 2664.7.1 SELinux安全管理简介 266任务实践 2714.7.2 SELinux配置 271任务三:防火墙管理 275知识储备 2754.8 防火墙(Firewall)是什么/为什么要使用防火墙 2754.9 了解动态防火墙firewalld 277任务实践 2804.10 firewalld的配置和使用 280上机实训:服务器的安全管理 293项目五 云平台的使用 295任务一:了解云技术 296知识储备 2965.1 云技术简介 2965.2 云计算的关键技术 2985.3 云技术的发展 2995.3.1 云技术成熟的标志 3005.3.2 云的三个层面服务并存 3015.3.3 云技术发展 302任务二:搭建OwnCloud私有存储云 304知识储备 3045.4 公有云、私有云、混合云 3045.5 云平台简介 305任务实践 3085.6 ownCloud存储云的安装 3085.6.1 安装LAMP基本环境 3085.6.2 安装ownCloud云存储 3105.6.3 配置ownCloud客户端,使用云存储 313上机实训:云平台的使用 315项目六 综合实训 317任务一:服务器与项目规划设计 318知识储备 3186.1 进行需求调研与系统规划设计的方法 3186.2 网络服务器选型 3206.3 设计时要考虑的其他问题 323任务二:基于企业网络构建企业站点 324知识储备 3246.4 综合实训的目的和要求 3246.5 中小型企业网站组建与管理综合实训内容 325任务实践 3266.6 实训任务步骤 326参考文献 331