linux實戰

linux實戰

《linux實戰》是2019年機械工業出版社出版的圖書,作者是戴維·柯林頓(David Clinton )。本書主要內容,構建一個安全的Linux環境,管理安全遠程連線;構建系統恢復設備;對系統打補丁以及升級,不需要之前有Linux管理經驗。

基本介紹

  • 中文名:linux實戰
  • 作者:戴維·柯林頓(David Clinton )
  • 出版社:機械工業出版社 
  • ISBN:9787111627043
內容簡介,圖書目錄,作者簡介,

內容簡介

第1章是概述性的內容,幫助讀者熟悉或回顧Linux的基本知識。第2章闡述Linux虛擬化技術以及Linux工作環境的基本構建方法,這也是後續章節的基礎性技術知識。第3章關注如何用密鑰保護遠程連線,實現對聯網計算機的安全訪問。第4章討論檔案歸檔管理的目的和典型方法。有效保護數據也是安全性的重要方面之一。第5章是前一章的遞進,主要關注如何配置並實現自動的異地備份。自動化管理可以大大提高備份的效率和可靠性。第6章關注如何從損壞的Linux系統中進行有效的恢復,這種技能對於每一位Linux管理員而言都是必需的。第7章展示如何用Apache、SQL及MediaWiki等軟體包搭建一個支持知識管理及自由協作的MediaWiki伺服器。第8章列舉建立一個Nextcloud檔案共享伺服器的步驟,並給出基於雲的存儲部署方法。第9章將保護Web伺服器作為實踐項目,循序漸進地闡述如何使用訪問控制、加密傳輸、強化認證等方式系統地達成增強安全性的目標。第10章著重討論如何通過創建VPN或DMZ來保護網路,這對於全球化部署的大型企業尤為重要。第11章圍繞對系統運行進行監視的需求,討論如何使用、管理和處理系統日誌,以及如何使用工具建立入侵檢測系統。第12章闡述如何在私有網路上通過網路檔案系統進行數據共享,以及如何保證其安全性。第13章聚焦於系統性能的最佳化,闡述測量和解決CPU、記憶體、存儲、網路等不同方面性能問題的方案,以及可用的工具。第14章列舉與網路連通性相關的各種故障,並給出解決方案及工具的使用方法。第15章以具體的實例說明如何通過對Linux核心模組、引導參數、驅動程式等的管理來解決遇到的設備故障。第16章討論如何使用DevOps工具構建和部署一個腳本化的伺服器環境,從而實現自動化的資源及安全性管理等。總結部分對本書的內容進行梳理和重新組織,並為讀者給出下一步學習的建議。附錄部分對每章的命令行進行了集中回顧,這些內容也存在於每章的末尾,如此安排是為了便於讀者快速查閱。

圖書目錄

前言
第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章 系統監控:使用日誌檔案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 使用grep226
11.3.2 使用awk227
11.3.3 使用sed228
11.4 使用入侵檢測進行監控229
11.4.1 搭建郵件伺服器229
11.4.2 安裝Tripwire230
11.4.3 配置Tripwire232
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 外部連通性掃描:netcat287
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 playbook312
16.4.1 編寫一個簡單的playbook313
16.4.2 創建多層、角色驅動的playbook314
16.4.3 用Ansible管理密碼316
16.5 小結317
總結320
附錄 每章命令行回顧324

作者簡介

戴維·柯林頓(David Clinton)是一名系統管理員、教師及作家。他已經為很多重要的技術主題撰寫和創建了培訓資料,涉及Linux系統、雲計算(特別是AWS)以及諸如Docker等容器技術。他是《Learn Amazon Web Services in a Month of Lunches》(Manning,2017)一書的作者。在網站https://www.pluralsight.com/可以找到他的許多視頻培訓課程。同時,可以在https://bootstrap-it.com找到他編著的其他書籍(關於Linux管理及伺服器虛擬化)的連結。

相關詞條

熱門詞條

聯絡我們