
作者:[美]戴维德·克林顿(DavidCli
页数:330
出版社:机械工业出版社
出版日期:2018
ISBN:9787111627043
电子书格式:pdf/epub/txt
内容简介
Linux是IT领域中尽人皆知的有名开源操作系统,其设计体系完善、运行性能突出,受到优选各地技术企业与技术爱好者的青睐。Linux继承了UNIX的设计思想,在优选的服务器、PC市场中得到了广泛应用,并形成了Red Hat和Debian两大版本家族以及Ubuntu、CentOS、Mint、Kali Linux等诸多不同版本。同时,鉴于良好的结构设计以及源码级的可定制、可扩展特性,面向物联网和嵌入式装备的Linux演化版本也不断涌现,Android、MontaVista、Clinux等已占据了嵌入式操作系统市场的半壁江山。很好的设计思想、开放的源码体系、多元的产品形态以及巨大的应用市场使Linux在诞生后的近30年里受到了政府、企业、高校等各界的持续关注与追捧。Linux将在很长一段时间内继续蓬勃发展并广泛应用。用作者的话讲,就是:“Linux技能具有持久性。由于Linux是一个特别成熟和稳定的操作系统,25年前使用的大多数工具至今仍然在使用,而且,当今使用的大量工具在25年后也将有可能继续发挥作用。”因此,我们有必要继续拓展对Linux的学习,并且要从不同的维度进行学习。本书即以此为出发点。本书的特点在于,未采用以知识线索来组织内容这一典型方式,而是基于一组实践项目来进行阐述。换句话说,本书将实践项目作为基本教学对象。作者挑选了一组具有代表性的实践项目,在实践步骤中穿插引用相关的Linux理论、原理、方法和命令,从而让读者在付诸实践行动的过程中进行有效的学习,掌握方法、汲取知识。想必这就是作者为本书取名为《Linux in Action》的本意了,Action一词就是要读者付诸行动,要“Learning by doing”。
作者简介
戴维·克林顿(David Clinton),是一名系统管理员、教师及作家。他已经为很多重要的技术主题撰写和创建了培训资料,涉及Linux系统、云计算(特别是AWS)以及诸如Docker等容器技术。他是《Learn Amazn Web Services in a Month of Lunches》(Manning,2017)一书的作者。在网站https://www.pluralsight.com/可以找到他的许多视频培训课程。同时,可以在https://bootstrap-it.com找到他编著的其他书籍(关于Linux管理及服务器虚拟化)的链接。
本书特色
如果不亲自动手实践,你就学不到任何知识,Linux也不例外。所有认真的用户,包括开发人员、管理人员以及DevOps专业人员,都需要具备诸如保护文件、文件夹以及服务器、安装补丁与应用以及网络管理等技能。通过学习本书中的实践教程,你就可以卷起袖子,一个项目接一个项目地进行学习。
本书中共有12个实际项目,包括自动备份与恢复系统、建立一个私有的Dtropbox风格的文件云以及构建你自己的MediaWiki服务器等。当你开展诸如虚拟化、灾难恢复、安全、备份、DevOps以及系统故障诊断等核心实践时,你将会接触到一些有趣的例子。每章都以回顾主要名词、安全实践、命令行以及习题结束。
本书主要内容
1 构建一个安全的Linux环境
2 管理安全远程连接
3 构建系统恢复设备
4 对系统打补丁以及升级
不需要之前有Linux管理经验。
“这本书是理解Linux的第一指南,书中提供了大量的实际项目案例。”
——Dario Victor Durán, HiQ 斯德哥尔摩
“讲授各种各样的Linux特性,使你的生活更加轻松、实用。”
——Jens Christian B. Madsen, IT Relation
“Linux系统管理的书籍。”
——Gustavo Patino, 奥克兰大学威廉博蒙特医学院
“着手维护Linux时所需的一切知识和技能。它不是关于如何使用Linux的书,而是关于如何管理Linux。”
——Maciej Jurkowski, Grupa Pracuj
目录
前言
第1章 欢迎使用Linux1
1.1 是什么让Linux与其他操作系统不同2
1.2 基本的实践技能3
1.2.1 Linux文件系统4
1.2.2 探索:Linux导航工具5
1.2.3 完成任务:Linux文件管理工具9
1.2.4 键盘技巧13
1.2.5 伪文件系统13
1.2.6 向他们展示谁才是老大:sudo14
1.3 获取帮助15
1.3.1 man文件15
1.3.2 info命令16
1.3.3 互联网17
1.4 小结18
第2章 Linux虚拟化:构建Linux工作环境21
2.1 什么是虚拟化22
2.2 使用VirtualBox25
2.2.1 使用Linux包管理器25
2.2.2 定义虚拟机32
2.2.3 安装操作系统35
2.2.4 克隆和共享VirtualBox虚拟机38
2.3 使用Linux容器40
2.3.1 LXC入门40
2.3.2 创建第一个容器41
2.4 小结44
第3章 远程连接:安全访问联网的计算机48
3.1 加密的重要性48
3.2 OpenSSH入门49
3.3 使用SSH登录一台远程服务器52
3.4 免密码SSH访问53
3.4.1 生成新的密钥对54
3.4.2 在网络上复制公钥55
3.4.3 使用多个加密密钥57
3.5 使用SCP安全地拷贝文件57
3.6 使用SSH连接上的远程图形程序58
3.7 Linux进程管理59
3.7.1 用ps命令查看进程60
3.7.2 使用systemd62
3.8 小结63
第4章 归档管理:备份或拷贝整个文件系统66
4.1 为什么要归档66
4.1.1 压缩67
4.1.2 归档文件:一些重要注意事项68
4.2 将什么归档69
4.3 备份到何处71
4.4 使用tar命令归档文件和文件系统71
4.4.1 几个简单的归档和压缩示例72
4.4.2 流式传输文件系统的归档文件73
4.4.3 使用find命令聚合文件75
4.4.4 保护权限与所有权并展开归档文件76
4.5 使用dd命令归档分区80
4.5.1 dd操作80
4.5.2 使用dd擦除硬盘81
4.6 使用rsync命令同步归档文件81
4.7 规划注意事项83
4.8 小结84
第5章 自动化管理:自动异地备份的配置87
5.1 用Bash编写脚本88
5.1.1 备份系统文件的脚本示例88
5.1.2 用于更改文件名的示例脚本92
5.2 将数据备份至AWS S393
5.2.1 安装AWS命令行接口94
5.2.2 配置你的AWS账户94
5.2.3 建立你的第一个bucket96
5.3 使用cron调度定期备份96
5.4 使用anacron预定非正常备份99
5.5 利用系统计时器设定常规备份100
5.6 小结102
第6章 应急工具:构建一个系统恢复设备105
6.1 在恢复/救援模式下工作106
6.1.1 GRUB引导加载程序107
6.1.2 在Ubuntu环境下使用恢复模式108
6.1.3 在CentOS下使用救援模式108
6.1.4 找到命令行救援工具109
6.2 创建一个原生系统引导恢复设备110
6.2.1 系统救援映像110
6.2.2 将原生系统引导映像写入USB驱动112
6.3 让你的原生系统引导设备运行115
6.3.1 检测系统存储区115
6.3.2 受损的分区117
6.3.3 从损坏的文件系统中恢复文件119
6.4 密码恢复:使用chroot安装文件系统120
6.5 小结122
第7章 Web服务器:建立MediaWiki服务器125
7.1 建立LAMP服务器126
7.2 手动设置Apache Web服务器127
7.2.1 在Ubuntu上安装Apache Web服务器127
7.2.2 填充你的网站文档root128
7.3 安装SQL数据库129
7.3.1 强化SQL131
7.3.2 SQL管理131
7.4 安装PHP134
7.4.1 在Ubuntu中安装PHP134
7.4.2 测试你的PHP安装134
7.5 安装和配置MediaWiki135
7.5.1 缺少扩展的故障排除136
7.5.2 将MediaWiki连接到数据库138
7.6 在CentOS上安装Apache Web服务器140
7.6.1 了解网络端口141
7.6.2 网络流量控制142
7.6.3 在CentOS上安装MariaDB142
7.6.4 在CentOS上安装PHP143
7.7 小结145
第8章 网络文件共享:构建Nextcloud文件共享服务器148
8.1 企业文件共享和Nextcloud149
8.2 使用snaps安装Nextcloud149
8.3 手动安装Nextcloud152
8.3.1 硬件预备知识152
8.3.2 建立LAMP服务器153
8.3.3 配置Apache154
8.3.4 下载和解压缩Nextcloud156
8.4 Nextcloud管理158
8.5 将AWS S3作为Nextcloud的主存储介质161
8.6 小结163
第9章 保护Web服务器166
9.1 显而易见的事情167
9.2 控制网络访问168
9.2.1 配置防火墙168
9.2.2 使用非标准端口175
9.3 加密传输中的数据177
9.3.1 准备你的网站域178
9.3.2 用Let抯 Encrypt生成证书179
9.4 强化认证过程180
9.4.1 使用SELinux控制文件系统对象181
9.4.2 安装并激活SELinux182
9.4.3 应用SELinux策略184
9.4.4 系统组与最少特权原则185
9.4.5 隔离容器中的进程187
9.4.6 扫描危险的用户ID值187
9.5 审计系统资源188
9.5.1 扫描打开的端口188
9.5.2 扫描激活的服务189
9.5.3 搜索已安装的软件190
9.6 小结190
第10章 保护网络连接:创建VPN或DMZ194
10.1 构建OpenVPN隧道195
10.1.1 配置OpenVPN服务器196
10.1.2 配置OpenVPN客户端202
10.1.3 测试你的VPN203
10.2 构建抗入侵网络205
10.2.1 非军事区205
10.2.2 使用iptables207
10.2.3 使用iptables创建DMZ208
10.2.4 使用shorewall创建DMZ210
10.3 为基础设施测试构建虚拟网络213
10.4 小结215
第11章 系统监控:使用日志文件21















