內容簡介
Linux是目前流行的作業系統之一,而Ubuntu是眾多Linux發行版中的佼佼者。它以開源、穩定和廣泛的社區支持等特點,被廣泛用於桌面系統、伺服器和二次開發的生產環境。《Ubuntu Linux系統管理與運維實戰》使用Ubuntu 22.04 LTS版本,通過由淺入深、循序漸進的方式講解Ubuntu系統管理與運維技能。
《Ubuntu Linux系統管理與運維實戰》共分13章,內容包括了解Ubuntu、安裝Ubuntu、桌面環境、檔案系統基礎知識、檔案和目錄管理、用戶和許可權管理、系統啟動和關閉、服務和進程管理、軟體包管理、磁碟和檔案系統管理、高級網路管理、網路服務管理以及系統安全。
《Ubuntu Linux系統管理與運維實戰》內容精練、重點突出、實例豐富,適合Linux初學者、運維人員、套用開發人員、網路管理人員和套用部署人員作為參考書。《Ubuntu Linux系統管理與運維實戰》也可作為高等院校或高職高專Linux系統管理與運維課程的教材。
作者簡介
張春曉,計算機軟體與理論碩士,長期從事UNIX及Linux系統維護達15年之久,對Shell編程有深入的研究。熱衷於UNIX的嚴謹與簡潔,又痴迷於Linux的自由與開放,整日與UNIX及Linux為伴,從中獲益匪淺。著有圖書《Linux從零開始學(視頻教學版)》《CentOS 8系統管理與運維實戰》《LAMP+LNMP網站架構與運維實戰》《Kubernetes零基礎快速入門》《Ubuntu Linux系統管理實戰》等。
圖書目錄
目 錄
第1章 了解Ubuntu 1
1.1 Linux是什麼 1
1.2 Linux發行版 3
1.2.1 Debian 3
1.2.2 Ubuntu 4
1.2.3 Arch Linux 4
1.2.4 Fedora 4
1.2.5 openSUSE 5
1.2.6 CentOS 5
1.2.7 Red Hat Enterprise Linux 6
1.3 了解Ubuntu 6
1.3.1 什麼是Ubuntu 6
1.3.2 Ubuntu的版本 7
1.3.3 Ubuntu的特點 8
1.3.4 如何獲取Ubuntu 8
1.4 GNU GPL和POSIX介紹 9
1.4.1 什麼是GNU GPL 9
1.4.2 GNU GPL的發展歷史 9
1.4.3 如何正確理解GNU GPL 9
1.4.4 了解POSIX標準 10
1.5 學習Ubuntu的方法 10
第2章 安裝Ubuntu 11
2.1 準備安裝Ubuntu 11
2.1.1 獲取安裝介質 11
2.1.2 Ubuntu的硬體要求 13
2.1.3 Ubuntu的安裝方式 13
2.2 虛擬機軟體 14
2.2.1 常見的虛擬機軟體 14
2.2.2 選擇虛擬機軟體 15
2.2.3 安裝Oracle VM VirtualBox 15
2.3 安裝Ubuntu桌面系統 19
2.3.1 下載ISO鏡像檔案 19
2.3.2 創建虛擬機 19
2.3.3 安裝Ubuntu桌面系統 23
2.4 安裝Ubuntu伺服器系統 29
2.5 將Ubuntu安裝到隨身碟中 36
2.5.1 Rufus工具 37
2.5.2 製作LiveUSB Ubuntu系統 37
2.6 安裝過程中的常見問題 39
2.6.1 選擇32位還是64位的Ubuntu 40
2.6.2 應該選擇哪種語言 40
2.6.3 Ubuntu中的磁碟分區與Windows中的磁碟分區是否相同 40
第3章 桌面環境 41
3.1 常見的桌面環境 41
3.1.1 KDE 41
3.1.2 GNOME 43
3.1.3 Xfce 45
3.2 使用GNOME 46
3.2.1 桌面布局 46
3.2.2 活動按鈕 47
3.2.3 工作區 48
3.2.4 浮動面板 49
3.2.5 顯示應用程式 50
3.2.6 鎖定、關閉或者重啟計算機 50
第4章 檔案系統基礎知識 51
4.1 檔案系統的層次結構 51
4.1.1 樹形層次結構 51
4.1.2 路徑名 53
4.1.3 Linux目錄結構 54
4.2 檔案類型 56
4.2.1 普通檔案 56
4.2.2 目錄檔案 58
4.2.3 字元設備檔案 59
4.2.4 塊設備檔案 60
4.2.5 管道 61
4.2.6 套接字 64
4.2.7 檔案連結 64
4.3 檔案許可權 66
4.3.1 檔案許可權介紹 67
4.3.2 顯示檔案許可權 68
4.3.3 修改檔案許可權 70
4.3.4 更改檔案所有權 72
4.3.5 檔案的特殊許可權 73
第5章 檔案和目錄管理 75
5.1 創建檔案 75
5.1.1 使用touch命令創建檔案 76
5.1.2 使用重定向創建檔案 76
5.1.3 使用vi命令創建檔案 77
5.2 顯示檔案列表 80
5.2.1 使用ls命令顯示檔案列表 80
5.2.2 顯示隱藏檔案 82
5.2.3 遞歸顯示目錄內容 83
5.3 顯示檔案內容 84
5.3.1 拼接檔案內容:cat命令 84
5.3.2 分屏顯示:more命令 87
5.3.3 前後翻頁分屏顯示:less命令 89
5.3.4 查看前幾行內容:head命令 89
5.3.5 查看最後幾行內容:tail命令 90
5.4 檔案的常用操作 92
5.4.1 複製檔案 92
5.4.2 移動檔案 93
5.4.3 刪除檔案 94
5.4.4 比較檔案 95
5.4.5 重命名檔案 97
5.5 搜尋檔案 97
5.5.1 快速搜尋檔案:locate命令 97
5.5.2 按類型搜尋檔案:whereis命令 99
5.5.3 搜尋二進制檔案:which命令 100
5.5.4 全功能搜尋檔案:find命令 100
5.6 文本內容篩選 102
5.6.1 使用grep命令檢索文本內容 102
5.6.2 篩選其他命令的輸出結果 103
5.6.3 在grep命令中使用正則表達式 104
5.7 文本排序 106
5.7.1 文本排序命令 106
5.7.2 合併有序檔案 108
5.8 檔案的壓縮和解壓 109
5.8.1 壓縮檔案 109
5.8.2 解壓檔案 111
5.9 目錄管理 112
5.9.1 顯示當前工作目錄 112
5.9.2 改變目錄 112
5.9.3 創建目錄 113
5.9.4 移動目錄 114
5.9.5 複製目錄 114
5.9.6 刪除目錄 114
第6章 用戶和許可權管理 115
6.1 用戶和用戶組基礎 115
6.1.1 用戶和用戶標識號 115
6.1.2 用戶組和組標識號 116
6.1.3 /etc/passwd檔案 117
6.1.4 /etc/shadow檔案 118
6.1.5 /etc/group檔案 119
6.2 用戶管理 120
6.2.1 添加用戶:useradd命令 120
6.2.2 添加用戶:adduser命令 121
6.2.3 修改用戶:usermod命令 123
6.2.4 刪除用戶:userdel命令 123
6.2.5 修改用戶密碼:passwd命令 124
6.2.6 顯示用戶信息:id命令 125
6.2.7 用戶間切換:su命令 126
6.2.8 受限的特權:sudo命令 126
6.3 用戶組管理 128
6.3.1 添加用戶組:groupadd命令 129
6.3.2 添加用戶組:addgroup命令 129
6.3.3 修改用戶組:groupmod命令 129
6.3.4 刪除用戶組:groupdel命令 129
6.4 許可權管理 130
6.4.1 許可權概述 130
6.4.2 改變檔案所有者:chown命令 132
6.4.3 改變檔案所屬組:chgrp命令 133
6.4.4 設定許可權掩碼:umask命令 133
6.4.5 修改檔案訪問許可權:chmod命令 134
6.4.6 修改檔案訪問控制列表:setfacl命令 136
第7章 系統啟動和關閉 138
7.1 Ubuntu的啟動過程 138
7.1.1 BIOS階段 138
7.1.2 引導程式階段 139
7.1.3 核心階段 142
7.1.4 進入系統 142
7.2 引導相關組件 143
7.2.1 主引導記錄 143
7.2.2 GRUB啟動程式 143
7.3 登錄 149
7.3.1 login進程 149
7.3.2 選擇Shell 151
7.3.3 用戶初始化檔案 152
7.4 關閉系統 154
7.4.1 shutdown命令 154
7.4.2 init命令 155
7.4.3 其他命令 155
第8章 服務和進程管理 156
8.1 初始化程式概述 156
8.1.1 初始化程式 157
8.1.2 systemd 162
8.1.3 systemd的基本配置檔案 163
8.2 systemd單元 164
8.2.1 單元類型 164
8.2.2 列出單元 166
8.2.3 查看單元狀態 169
8.2.4 單元依賴 170
8.2.5 單元配置檔案 172
8.3 systemd單元管理 175
8.3.1 啟動服務 175
8.3.2 停止服務 175
8.3.3 重啟服務 175
8.3.4 重新載入服務配置檔案 176
8.3.5 查看服務狀態 176
8.3.6 配置服務自動啟動 177
8.3.7 禁止服務自動啟動 178
8.3.8 重新載入單元配置檔案 179
8.3.9 顯示服務屬性 179
8.3.10 設定服務屬性 180
8.4 常用的systemd命令 180
8.4.1 systemd-analyze命令分析系統啟動時的性能 181
8.4.2 hostnamectl命令 183
8.4.3 localectl命令 184
8.4.4 timedatectl命令 184
8.4.5 loginctl命令 185
8.5 目標 186
8.5.1 理解目標 186
8.5.2 切換目標 189
8.5.3 默認目標 189
8.6 日誌管理 190
8.6.1 讀取日誌 190
8.6.2 過濾輸出 191
8.6.3 日誌大小限制 192
8.6.4 手動清理日誌 193
8.7 進程管理 194
8.7.1 查詢進程及其狀態 194
8.7.2 監控進程及系統資源 196
8.7.3 終止進程 201
8.7.4 調整進程的優先權 202
第9章 軟體包管理 203
9.1 軟體包管理概述 203
9.1.1 軟體包管理的基本概念 204
9.1.2 軟體包管理工具 205
9.2 apt-get命令 207
9.2.1 搜尋軟體包 207
9.2.2 apt-get命令的基本語法 210
9.2.3 安裝軟體包 210
9.2.4 重新安裝軟體包 211
9.2.5 刪除軟體包 212
9.2.6 更新和升級軟體包 212
9.3 apt命令 213
9.3.1 apt命令的基本語法 213
9.3.2 搜尋軟體包 214
9.3.3 安裝軟體包 214
9.3.4 刪除軟體包 215
9.3.5 更新和升級軟體包 215
9.4 aptitude命令 216
9.4.1 aptitude命令的基本語法 216
9.4.2 搜尋軟體包 217
9.4.3 安裝軟體包 219
9.4.4 刪除軟體包 219
9.4.5 更新和升級軟體包 220
9.4.6 圖形化界面 220
9.5 synaptic軟體管理工具 222
9.5.1 安裝軟體包 222
9.5.2 刪除軟體包 224
9.5.3 更新和升級軟體包 225
第10章 磁碟和檔案系統管理 226
10.1 磁碟管理基礎 226
10.1.1 磁頭 226
10.1.2 磁軌 227
10.1.3 柱面 227
10.1.4 扇區 227
10.1.5 磁碟分區 228
10.2 檔案系統相關基礎知識 228
10.2.1 常見的檔案系統 228
10.2.2 塊 230
10.2.3 引導塊 231
10.2.4 超級塊 231
10.2.5 索引節點 232
10.3 創建檔案系統 233
10.3.1 創建分區 233
10.3.2 mkfs命令 237
10.3.3 創建Ext2/Ext3/Ext4檔案系統 240
10.3.4 創建NTFS檔案系統 241
10.3.5 創建FAT檔案系統 241
10.3.6 調整檔案系統 243
10.4 掛載與卸載檔案系統 244
10.4.1 掛載點 244
10.4.2 mount和findmnt命令 244
10.4.3 /etc/fstab檔案 247
10.4.4 手工掛載檔案系統 248
10.4.5 自動掛載檔案系統 249
10.4.6 卸載檔案系統 249
10.5 檢查與修復檔案系統 250
10.5.1 fsck和e2fsck命令 250
10.5.2 互動式檢查與修復檔案系統 251
10.5.3 自動檢查與修復檔案系統 252
10.5.4 恢復嚴重受損的超級塊 252
10.6 磁碟陣列 253
10.6.1 磁碟陣列介紹 253
10.6.2 磁碟陣列級別 254
10.6.3 創建磁碟陣列 256
10.7 邏輯卷管理 261
10.7.1 邏輯卷管理的基本概念 261
10.7.2 安裝LVM 262
10.7.3 創建物理卷 262
10.7.4 創建卷組 265
10.7.5 創建邏輯卷 266
10.7.6 擴展邏輯卷 267
10.7.7 壓縮邏輯卷 268
第11章 網路管理 270
11.1 網路接口 270
11.1.1 查看網路接口 270
11.1.2 網路接口命名 274
11.1.3 配置網路接口IP位址 275
11.1.4 域名解析 278
11.2 常用的網路配置命令 278
11.2.1 ifconfig命令 279
11.2.2 ip命令 280
11.2.3 route命令 287
11.2.4 netstat命令 288
11.2.5 nslookup命令 291
11.2.6 ping命令 292
11.3 防火牆 293
11.3.1 ufw簡介 293
11.3.2 ufw配置 293
11.3.3 ufw與套用系統的整合 295
11.3.4 ufw日誌管理 296
第12章 網路服務管理 297
12.1 SSH服務 297
12.1.1 SSH協定 298
12.1.2 配置SSH服務 298
12.1.3 管理SSH服務 301
12.1.4 使用賬號密碼登錄SSH服務 302
12.1.5 使用密鑰對登錄SSH服務 304
12.2 FTP檔案傳輸服務 308
12.2.1 FTP檔案傳輸協定 308
12.2.2 安裝vsftpd 308
12.2.3 vsftpd配置檔案 309
12.2.4 管理FTP用戶:匿名用戶、本地用戶、虛擬用戶 312
12.2.5 演示:使用FTP傳輸檔案 316
12.3 DNS域名服務 321
12.3.1 域名、IP位址、域名伺服器 321
12.3.2 BIND以及組件 323
12.3.3 BIND配置檔案 323
12.3.4 配置區域 328
12.3.5 資源記錄 329
12.3.6 演示:DNS伺服器配置實例 330
12.4 NFS網路檔案服務 333
12.4.1 安裝NFS服務 334
12.4.2 已分享檔案系統 334
12.4.3 掛載NFS檔案系統 336
12.4.4 NFS檔案系統許可權 337
12.5 其他網路服務管理 340
12.5.1 Samba資源共享 340
12.5.2 Apache全球資訊網服務 343
12.5.3 MySQL資料庫服務 346
第13章 系統和網路安全 350
13.1 用戶管理安全 350
13.1.1 管理好root用戶 350
13.1.2 用戶資料安全 351
13.1.3 密碼策略 352
13.2 防火牆 354
13.2.1 ufw 354
13.2.2 IP偽裝 354
13.2.3 日誌 355
13.3 AppArmor 355
13.3.1 安裝AppArmor 355
13.3.2 使用AppArmor 356
13.3.3 AppArmor配置檔案 357
13.4 數字證書 359
13.4.1 獲取數字證書 359
13.4.2 生成密鑰 359
13.4.3 生成證書籤署請求 360
13.4.4 安裝證書 361
13.5 弱點掃描 361
13.5.1 安裝GVM(OpenVAS) 361
13.5.2 OpenVAS儀錶盤 365
13.5.3 掃描任務管理 365
13.5.4 掃描報表 367
13.6 入侵檢測 368
13.6.1 安裝Snort 368
13.6.2 Snort配置檔案 369
13.6.3 Snort檢測規則 370
13.6.4 測試Snort 371