《Linux实战》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:张凯龙,王路阳,李鹏译;(美国)戴维德·克林顿
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111627043
  • 页数:332 页
图书介绍:本书重点介绍了Linux的运用,特别突出了网络及安全的特性。书中将实践项目作为基本的教学对象,在实践步骤中穿插引用了相关的Linux理论、原理、方法和命令。本书适合所有对Linux感兴趣的相关人士阅读。

第1章 欢迎使用Linux 1

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 向他们展示谁才是老大:sudo 14

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 使用VirtualBox 25

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 使用systemd 62

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 S3 93

5.2.1 安装AWS命令行接口 94

5.2.2 配置你的AWS账户 94

5.2.3 建立你的第一个bucket 96

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服务器:建立Media Wiki服务器 125

7.1 建立LAMP服务器 126

7.2 手动设置Apache Web服务器 127

7.2.1 在Ubuntu上安装Apache Web服务器 127

7.2.2 填充你的网站文档root 128

7.3 安装SQL数据库 129

7.3.1 强化SQL 131

7.3.2 SQL管理 131

7.4 安装PHP 134

7.4.1 在Ubuntu中安装PHP 134

7.4.2 测试你的PHP安装 134

7.5 安装和配置MediaWiki 135

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上安装MariaDB 142

7.6.4 在CentOS上安装PHP 143

7.7 小结 145

第8章 网络文件共享:构建Nextcloud文件共享服务器 148

8.1 企业文件共享和Nextcloud 149

8.2 使用snaps安装Nextcloud 149

8.3 手动安装Nextcloud 152

8.3.1 硬件预备知识 152

8.3.2 建立LAMP服务器 153

8.3.3 配置Apache 154

8.3.4 下载和解压缩Nextcloud 156

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's Encrypt生成证书 179

9.4 强化认证过程 180

9.4.1 使用SELinux控制文件系统对象 181

9.4.2 安装并激活SELinux 182

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或DMZ 194

10.1 构建OpenVPN隧道 195

10.1.1 配置OpenVPN服务器 196

10.1.2 配置OpenVPN客户端 202

10.1.3 测试你的VPN 203

10.2 构建抗入侵网络 205

10.2.1 非军事区 205

10.2.2 使用iptables 207

10.2.3 使用iptables创建DMZ 208

10.2.4 使用shorewall创建DMZ 210

10.3 为基础设施测试构建虚拟网络 213

10.4 小结 215

第11章 系统监控:使用日志文件 218

11.1 使用系统日志 219

11.1.1 使用journald记录日志 220

11.1.2 使用syslogd记录日志 222

11.2 管理日志文件 224

11.2.1 journald方法 224

11.2.2 syslogd方法 224

11.3 处理大文件 226

11.3.1 使用grep 226

11.3.2 使用awk 227

11.3.3 使用sed 228

11.4 使用入侵检测进行监控 229

11.4.1 搭建邮件服务器 229

11.4.2 安装Tripwire 230

11.4.3 配置Tripwire 232

11.4.4 生成Tripwire测试报告 235

11.5 小结 235

第12章 在私有网络上共享数据 239

12.1 通过网络文件系统共享文件 240

12.1.1 设置NFS服务器 241

12.1.2 建立客户端 242

12.1.3 在引导时挂载NFS共享 243

12.1.4 NFS安全性 245

12.2 使用Samba与Windows用户共享文件 247

12.2.1 测试你的Samba配置 248

12.2.2 从Windows访问Samba服务器 249

12.3 使用符号链接与自己共享文件 250

12.4 小结 251

第13章 解决系统性能问题 255

13.1 CPU负载问题 256

13.1.1 测量CPU负载 256

13.1.2 管理CPU负载 257

13.1.3 制造麻烦(模拟CPU负载) 260

13.2 内存问题 260

13.2.1 评估内存状态 260

13.2.2 评估交换状态 261

13.3 存储可用性问题 261

13.3.1 索引节点的限制 262

13.3.2 解决方案 264

13.4 网络负载问题 265

13.4.1 测量带宽 265

13.4.2 解决方案 266

13.4.3 与tc形成网络流量 267

13.5 监控工具 268

13.5.1 收集监测数据 268

13.5.2 将数据进行可视化 269

13.6 小结 270

第14章 排除网络故障 274

14.1 理解TCP巭IP寻址 275

14.1.1 什么是NAT寻址 275

14.1.2 使用NAT寻址 275

14.2 建立网络连接 278

14.3 排除传出连通性故障 278

14.3.1 跟踪网络状态 280

14.3.2 分配IP地址 281

14.3.3 配置DNS服务 284

14.3.4 管道 286

14.4 排除传入连通性故障 286

14.4.1 内部连通性扫描:netstat 287

14.4.2 外部连通性扫描:netcat 287

14.5 小结 288

第15章 排除外围设备故障 292

15.1 识别连接的设备 292

15.2 用Linux内核模块管理外设 294

15.2.1 查找内核模块 295

15.2.2 手动加载内核模块 297

15.3 引导时手动管理内核参数 298

15.3.1 引导时传递参数 298

15.3.2 通过文件系统传递参数 299

15.4 管理打印机 300

15.4.1 lp基础 301

15.4.2 使用CUPS管理打印机 301

15.5 小结 303

第16章 DevOps工具:使用Ansible部署一个脚本化的服务器环境 305

16.1 部署协调器可以为你做什么 306

16.2 Ansible:安装和设置 308

16.2.1 设置对宿主机的无密码访问 309

16.2.2 组织Ansible的宿主机 309

16.2.3 测试连接性 310

16.3 认证 311

16.4 Ansible playbook 312

16.4.1 编写一个简单的playbook 313

16.4.2 创建多层、角色驱动的playbook 314

16.4.3 用Ansible管理密码 316

16.5 小结 317

总结 320

附录 每章命令行回顾 324