譯者序
前言
第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
· · · · · · (
收起)