Linux操作系統管理與自動化運維標準教程(微課視頻版)
王亮、丘洪偉、左文濤
相關主題
商品描述
"全書共分16章,內容體系涵蓋四大模塊: 基礎與系統管理部分(第1~4章):詳細介紹了Ubuntu Server的安裝流程、命令行使用技巧、用戶權限管理、磁盤與文件系統配置、網絡設置與遠程連接等核心知識,幫助讀者構建堅實的Linux系統管理基礎。 主流服務部署部分(第5~10章):通過循序漸進的操作講解,帶領讀者完成文件共享(Samba/NFS)、數據傳輸(FTP/SFTP/rsync)、網站環境(Apache/Nginx/PHP/LNMP)、數據庫平臺(MySQL/PostgreSQL)、網絡服務(DNS/DHCP)、郵件系統與VPN服務(OpenVPN、WireGuard、Tailscale)等典型服務的搭建,內容覆蓋廣泛,部署路徑清晰,適合個人和中小型組織使用場景。 自動化運維與容器管理部分(第11~15章):不僅系統講解了Docker、LXD、KVM等現代化虛擬化與容器技術的使用方法,還設置了多章內容深入講解Shell腳本編程、文本處理、批量任務控制與資源監控,並引入Ansible作為主流自動化運維工具,全面展示從手動配置到自動化管理的演進路徑。 系統安全與穩定性保障(第16章):涵蓋日誌管理、防火墻配置、入侵防禦機制(Fail2ban)、賬戶安全策略、系統性能與流量監控工具(top、vmstat、iftop、Glances)以及關鍵服務故障排查技巧,幫助讀者構建安全、可靠、可維護的Linux服務器環境。 "
目錄大綱
目 錄
基礎篇
第1章
Linux系統概述
1.1 認識Linux系統 2
1.1.1 Linux系統的出現 2
1.1.2 Linux系統的特點 2
1.1.3 Linux的結構 3
1.1.4 Linux發行版 4
1.2 Linux服務器系統安裝流程詳解 5
1.2.1 版本選擇及硬件要求 5
1.2.2 系統映像的下載 6
1.2.3 啟動介質的制作 6
1.2.4 虛擬機的準備 7
動手練 Linux系統的安裝 8
1.3 登錄界面與Shell命令行簡介 12
1.3.1 本地控制臺與TTY終端 12
1.3.2 Shell環境與Bash 13
1.4 命令執行與Bash操作技巧 14
1.4.1 命令結構解析 14
1.4.2 幫助信息的獲取 15
1.4.3 Bash操作技巧 15
1.4.4 管道與重定向 16
1.5 SSH遠程連接及管理 17
1.5.1 認識SSH 17
1.5.2 查看與啟動SSH服務 19
1.5.3 使用Windows命令行遠程連接 20
動手練 使用第三方SSH工具遠程管理 21
知識延伸:Linux 服務器終端常用管理命令 22
第2章
軟件與文件管理
2.1 軟件源配置管理 24
2.1.1 軟件源的作用 24
2.1.2 軟件源配置文件的位置 24
2.1.3 配置字段詳解 25
2.1.4 軟件源條目的分類 25
動手練 修改軟件源 25
2.2 軟件管理操作 25
2.2.1 更新與升級系統組件 25
動手練 升級已安裝的軟件包 26
2.2.2 查詢軟件包 27
動手練 查看軟件源中軟件包的信息 28
2.2.3 安裝軟件包 28
2.2.4 刪除軟件包及清理依賴殘留 29
動手練 清理APT緩存 30
2.3 使用PPA安裝及管理軟件 30
2.3.1 PPA簡介 30
2.3.2 安裝及管理軟件 31
2.4 用戶與用戶組管理 33
2.4.1 用戶與用戶組簡介 33
2.4.2 添加與刪除用戶及用戶組 33
2.4.3 sudo與用戶的切換 34
2.4.4 Linux常見的用戶組及其權限 35
2.5 文件及目錄的管理 35
2.5.1 文件及目錄基礎 35
2.5.2 文件及目錄的常見管理操作 37
知識延伸:sudo配置與權限分配策略 39
第3章
磁盤與文件系統管理
3.1 磁盤與分區管理 40
3.1.1 查看磁盤與分區信息 40
3.1.2 為磁盤進行分區 41
3.2 文件系統與掛載管理 42
3.2.1 常見的文件系統類型簡介 42
3.2.2 文件系統的格式化 43
動手練 查看分區的文件系統類型 44
3.2.3 文件系統的掛載與卸載 44
動手練 卸載文件系統 45
3.3 開機自動掛載管理 45
3.3.1 自動掛載配置文件 45
3.3.2 開機自動掛載配置 46
3.4 邏輯卷原理及管理 46
3.4.1 LVM架構簡介 46
3.4.2 部署物理卷、卷組與邏輯卷 47
3.4.3 擴展與壓縮邏輯卷空間 48
動手練 刪除邏輯卷、卷組與物理卷 51
3.5 建議RAID管理與應用 51
3.5.1 軟件RAID的原理與類型 51
3.5.2 使用mdadm創建RAID卷 52
3.5.3 RAID故障的恢復 54
知識延伸:RAID的管理與開機自動掛載 55
第4章
網絡配置與遠程安全管理
4.1 網絡信息的查看 56
4.1.1 查看網絡接口及IP地址信息 56
4.1.2 查看默認網關信息 56
動手練 查看指定目標的路由路徑 57
4.1.3 查看DNS服務器地址 57
4.1.4 查看當前網絡連接與監聽端口 57
動手練 使用lsof命令查看監聽服務與進程關系 58
4.2 網絡參數的配置 58
4.2.1 使用命令臨時設置網絡參數 58
4.2.2 修改網絡配置文件永久生效 60
動手練 網絡控制管理命令 60
4.3 常用網絡調試命令 61
4.3.1 ping、traceroute與mtr命令 61
4.3.2 dig、host與nslookup解析工具 62
動手練 交互式或命令行DNS查詢 63
4.4 SSH服務的基礎安全管理 63
4.4.1 增強SSH安全性的常用方法 63
4.4.2 利用密鑰實現安全登錄 64
4.5 防火墻UFW基礎配置 66
4.5.1 UFW的安裝與啟用 66
4.5.2 放行與阻止常見端口 67
4.5.3 UFW的進階用法 68
4.5.4 配置服務別名與日誌功能 69
知識延伸:Netplan網絡配置工具簡介 70
服務篇
第5章
文件共享與傳輸服務
5.1 Samba文件共享服務部署與管理 72
5.1.1 安裝Samba服務 72
5.1.2 配置共享目錄與權限 73
動手練 Windows訪問Samba共享目錄 75
5.1.3 用戶身份認證與訪問控制策略 75
5.2 NFS部署與管理 77
5.2.1 部署NFS 77
5.2.2 配置NFS共享目錄及權限 77
5.2.3 客戶端掛載與測試訪問 79
動手練 配置自動掛載 79
5.3 FTP與SFTP服務部署與管理 79
5.3.1 安裝與啟動FTP 80
動手練 連接服務器 80
5.3.2 配置vsftpd服務參數 81
5.3.3 訪問限制與安全加固 83
動手練 啟用與配置SFTP 83
5.4 rsync文件同步與備份 85
5.4.1 rsync命令及本地同步 85
5.4.2 遠程同步配置 86
5.4.3 自動化同步 87
5.5 常用命令行文件傳輸技巧 88
5.5.1 使用scp進行主機間快速傳輸 88
5.5.2 使用wget與curl拉取遠程文件 89
動手練 使用wget與curl工具下載網絡資源 90
知識延伸:基於Python HTTP/Netcat實現簡易傳輸 91
第6章
Web服務器搭建與應用
6.1 Web服務器概述 93
6.1.1 認識Web服務器 93
6.1.2 Web服務器的分類 93
6.2 Apache服務的安裝與基本配置 94
6.2.1 安裝Apache 服務 94
6.2.2 配置默認站點與根目錄 95
6.2.3 服務控制與日誌管理 96
動手練 實時監測Apache日誌文件 97
6.3 虛擬主機及SSL證書配置 97
6.3.1 配置基於域名的虛擬主機 97
動手練 配置基於端口的虛擬主機 99
6.3.2 配置內網HTTPS安全訪問 100
6.3.3 Apache服務器調試與常見問題排查 101
6.4 Nginx服務器安裝與反向代理 102
6.4.1 部署Nginx服務 103
6.4.2 Nginx服務配置 103
動手練 創建虛擬主機並使用不同域名訪問 104
6.4.3 配置反向代理與負載均衡 106
6.4.4 Nginx安全加固與性能優化 107
6.5 PHP及動態網站環境配置 108
6.5.1 安裝PHP及其模塊 108
6.5.2 Apache集成PHP環境配置 109
動手練 Nginx與PHP-FPM結合使用 110
6.6 LNMP的配置 112
6.6.1 安裝MySQL數據庫組件 112
6.6.2 構建Nginx+PHP+MySQL架構 113
6.7 常見CMS網站的部署 114
6.7.1 認識CMS網站 114
6.7.2 基於LNMP部署WordPress 115
動手練 部署Discuz! 117
知識延伸:一鍵部署LNMP 119
第7章
數據庫服務的部署及管理
7.1 MySQL與MariaDB服務的部署 120
7.1.1 MySQL與MariaDB簡介 120
7.1.2 MySQL官方倉庫部署 121
動手練 MariaDB的部署操作 123
7.2 Mysql數據庫用戶與權限管理 125
7.2.1 用戶管理 125
動手練 刪除用戶 126
7.2.2 權限管理 126
動手練 撤銷權限 127
7.2.3 常用SQL命令和技巧 128
7.3 Mysql數據庫備份與恢復 129
7.3.1 數據庫備份 129
7.3.2 數據庫恢復 130
動手練 數據的導入/導出 131
7.4 MySQL數據庫性能優化與安全加固 132
7.4.1 查詢優化 132
7.4.2 參數調優 132
7.4.3 安全加固 133
知識延伸:PostgreSQL數據庫的安裝與管理 135
第8章
網絡核心服務配置與管理
8.1 Bind9 DNS服務部署與區域配置 137
8.1.1 安裝Bind9服務 137
8.1.2 創建正向及反向區域文件 138
8.1.3 編輯區域配置文件 139
8.1.4 檢查配置文件並驗證 140
動手練 使用Windows客戶端進行驗證 141
8.2 DNS緩存、轉發與優化 142
8.2.1 部署DNS緩存服務器 142
8.2.2 部署DNS轉發服務器 143
8.2.3 DNS服務器的優化技巧 144
8.3 Avahi與mDNS:零配置網絡服務發現 145
8.3.1 認識mDNS與Avahi 145
8.3.2 安裝與配置Avahi 146
動手練 本地域名解析與服務發現實踐 147
8.4 ISC DHCP服務部署與動態地址分配 148
8.4.1 部署ISC DHCP服務 148
8.4.2 配置ISC DHCP參數 149
8.4.3 啟用動態分配服務並調試 150
動手練 DHCP服務的監控及調試 151
8.5 DHCP靜態地址綁定與客戶端管理 152
8.5.1 MAC地址綁定靜態IP 152
8.5.2 單獨綁定網關與DNS地址 153
動手練 多設備分組 154
8.5.3 DHCP中繼代理 155
知識延伸:NTP網絡時間同步服務 157
第9章
郵件、代理與VPN服務的配置與管理
9.1 郵件服務器基礎搭建 158
9.1.1 部署Postfix服務 158
9.1.2 本地郵件發送測試 159
9.1.3 局域網郵件發送測試 160
9.2 Dovecot郵件接收服務配置 162
9.2.1 安裝與啟用Dovecot 162
9.2.2 配置IMAP/POP3接收協議 163
9.2.3 本地郵件收發測試 164
動手練 局域網郵件收發測試 166
9.2.4 多用戶間郵件收發 166
9.3 郵件客戶端配置與測試 167
9.3.1 使用Thunderbird收發郵件 168
動手練 登錄user2用戶收取郵件 169
9.3.2 使用mutt收發郵件 170
9.4 郵件安全與反垃圾郵件 172
9.4.1 郵件加密與安全收發 172
9.4.2 反垃圾郵件 173
9.5 代理服務器的部署與管理 175
9.5.1 安裝與啟用Squid代理服務 175
動手練 測試代理 176
9.5.2 配置訪問控制列表 176
動手練 不允許訪問某些域名 178
9.5.3 啟用緩存及日誌功能 178
9.6 VPN服務安裝與配置 180
9.6.1 OpenVPN原理與服務器安裝 180
9.6.2 配置PKI 180
9.6.3 創建服務器端配置文件 182
9.6.4 配置客戶端 183
動手練 驗證VPN連接 184
知識延伸:WireGuard 在局域網環境下的部署步驟 185
運維篇
第10章
Shell腳本編程與自動化任務
10.1 Shell腳本基礎知識 188
10.1.1 Shell腳本的執行機制 188
10.1.2 腳本的結構 189
10.1.3 編寫第一個Shell腳本 190
動手練 調用bash解釋器執行腳本 191
10.2 變量與數據操作 191
10.2.1 變量類型與賦值方式 191
10.2.2 Shell中的輸入與輸出 192
10.2.3 數值計算與變量替換 193
10.2.4 環境變量與位置參數 194
10.3 條件判斷與流程控制 195
10.3.1 if語句與case語句 195
10.3.2 for、while、until循環 196
10.4 函數與數組 197
10.4.1 函數定義與調用 197
10.4.2 參數傳遞與返回值 198
10.4.3 一維數組與數組遍歷 200
10.5 文本處理與正則表達式 200
10.5.1 正則表達式的語法與元字符 201
10.5.2 grep命令用法 202
10.5.3 sed命令用法 202
10.5.4 awk命令用法 204
10.6 Shell並發與任務調度 205
10.6.1 for循環並發執行任務 205
10.6.2 後臺任務與作業控制 206
10.6.3 expect實現非交互式控制 206
10.6.4 定時任務cron與at命令 207
10.7 系統性能與資源監控腳本 208
10.7.1 集成top、vmstat、iostat命令 208
10.7.2 系統資源監控 209
動手練 定時系統資源監控與報表生成 210
10.7.3 日誌分析與告警腳本 211
動手練 自動化日誌歸檔與清理 212
知識延伸:Shell腳本調試與排錯 213
第11章
Ansible自動化運維
11.1 自動化運維基礎 214
11.1.1 認識自動化運維 214
11.1.2 Ansible與Shell腳本的對比與選型 215
11.1.3 常見的自動化運維場景 215
11.2 Ansible概述 216
11.2.1 Ansible的工作機制 216
11.2.2 控制節點與被管理節點架構 217
11.2.3 模塊化設計與插件機制 217
11.2.4 常用模塊與作用 217
11.3 Ansible安裝與初始化 218
11.3.1 部署Ansible 218
11.3.2 配置SSH通信與免密登錄 218
11.3.3 主機清單管理 219
動手練 創建Ansible主配置文件 220
11.4 Ansible核心命令與模塊 221
11.4.1 Ansible命令行管理與常用模塊 221
11.4.2 自定義模塊與高級命令技巧 223
11.4.3 高效使用ad-hoc命令的小技巧 225
11.5 Playbook基礎與編寫規範 226
11.5.1 Playbook結構與語法解析 226
11.5.2 Task、Handler、Block、Tag機制 228
11.5.3 Role機制與目錄結構 230
11.5.4 變量與事實 233
11.6 自動化流程控制 234
11.6.1 循環語句與條件控制 234
11.6.2 錯誤處理與異常控制 235
11.6.3 import與include機制的使用 236
知識延伸:Ansible問題排查與調試技巧 238
第12章
系統安全管理
12.1 日誌管理 239
12.1.1 日誌文件分類與位置 239
動手練 查看日誌 240
12.1.2 使用journalctl管理systemd日誌 240
動手練 日誌管理與清理 242
12.1.3 日誌輪轉與logrotate配置 242
12.2 防火墻UFW進階規則 243
12.2.1 規則優先級 243
12.2.2 UFW配置文件與規則持久化 244
12.2.3 日誌聯動 245
12.3 Fail2ban惡意登錄防護 246
12.3.1 Fail2ban工作原理 246
12.3.2 部署Fail2ban 247
動手練 測試Fail2ban封禁功能 248
12.4 SSH安全審計 248
12.4.1 SSH登錄日誌查看與分析 248
12.4.2 來源IP排查 250
12.5 AppArmor安全模塊基礎 250
12.5.1 AppArmor概述與工作機制 250
12.5.2 AppArmor狀態管理與常用命令 251
12.5.3 AppArmor配置文件 252
動手練 自定義與調整策略 253
12.6 系統用戶安全策略 254
12.6.1 密碼強度與復雜度 254
12.6.2 密碼過期策略與警告時間 255
12.6.3 鎖定無用賬戶 255
12.7 基本安全審計與漏洞檢測 256
12.7.1 審計系統用戶與關鍵服務 256
12.7.2 基於rkhunter的快速後門檢測 257
12.7.3 使用Lynis安全審計 258
動手練 使用殺毒工具查殺病毒 258
知識延伸:交互式系統與網絡監控工具 260







