上冊
第1章 歡迎來到Linux的世界 1
1.1 UNIX和GNU-Linux的曆史 2
1.1.1 Linux 的鼻祖:UNIX 2
1.1.2 迴顧1983年 3
1.1.3 接下來的場景,1991年 4
1.1.4 代碼是免費的 4
1.1.5 玩得開心 5
1.2 是什麼使Linux如此優秀 5
1.2.1 為什麼Linux在硬件廠商和開發人員中廣受歡迎 8
1.2.2 可移植的Linux 9
1.2.3 C編程語言 9
1.3 Linux概述 10
1.3.1 Linux具有內核編程接口 11
1.3.2 Linux支持多用戶 11
1.3.3 Linux可以運行多任務 11
1.3.4 Linux提供安全的分層文件係統 11
1.3.5 Shell:命令解釋器和編程語言 12
1.3.6 一個有用工具的大集閤 14
1.3.7 進程間通信 14
1.3.8 係統管理 14
1.4 Linux的其他特性 15
1.4.1 GUI:圖形用戶界麵 15
1.4.2 (連接)網絡實用工具 15
1.4.3 軟件開發 16
1.5 本書約定 16
1.6 本章小結 18
1.7 練習 18
第1部分 安裝Fedora/RHEL Linux 21
第2章 安裝概述 22
2.1 桌麵Live CD和安裝DVD 23
2.2 更多信息 24
2.3 安裝規劃 25
2.3.1 注意事項 25
2.3.2 需求 25
2.3.3 處理器架構 27
2.3.4 界麵:安裝程序和安裝係統 28
2.3.5 安裝哪一個:Fedora或Red Hat Enterprise Linux 29
2.3.6 Fedora/RHEL的發行 30
2.3.7 Fedora標準版本 30
2.3.8 Fedora發行集 31
2.3.9 安裝一個全新的副本或升級現有的Fedora/RHEL係統 31
2.3.10 硬盤設置 31
2.3.11 RAID 38
2.3.12 LVM:邏輯捲管理器 39
2.4 安裝過程 40
2.5 下載和刻錄CD/DVD 40
2.5.1 下載CD/DVD ISO映像文件的簡便方法 41
2.5.2 下載CD/DVD ISO映像文件的其他方式 41
2.5.3 驗證ISO映像文件 43
2.5.4 刻錄CD/DVD 44
2.6 收集係統信息 44
2.7 本章小結 46
2.8 練習 46
2.9 高級練習 46
第3章 一步一步安裝 47
3.1 運行Fedora Live會話 48
3.1.1 引導係統 48
3.2 安裝Fedora/RHEL 50
3.2.1 從Live會話安裝Fedora 51
3.2.2 從DVD安裝盤進行安裝/升級 52
3.2.3 Anaconda安裝程序 53
3.2.4 Firstboot:當重新啓動時 61
3.2.5 初始化數據庫和更新係統 62
3.3 安裝任務 63
3.3.1 修改引導參數(選項) 63
3.3.2 使用Disk Druid對磁盤進行分區 66
3.3.3 palimpsest:GNOME的磁盤工具 72
3.3.4 使用Kickstart配置器 76
3.3.5 設置一個雙重引導係統 77
3.4 gnome-control-center/Displays:配置顯示 79
3.5 本章小結 79
3.6 練習 80
3.7 高級練習 80
第2部分 Fedora/RHEL入門 81
第4章 介紹Fedora和Red Hat Enterprise Linux 82
4.1 限製你的權力(超級用戶/root權限) 83
4.2 Fedora/RHEL桌麵之旅 83
4.2.1 登錄係統 84
4.2.2 配置後備模式(Fedora) 85
4.2.3 安裝和使用gnome-tweak-tool(Fedora) 86
4.2.4 桌麵簡介 88
4.2.5 從桌麵啓動程序 89
4.2.6 切換工作區 90
4.2.7 設置個人首選項 91
4.2.8 鼠標首選項 92
4.2.9 窗口操作 93
4.2.10 使用Nautilus處理文件 94
4.2.11 軟件更新 100
4.2.12 會話管理 101
4.2.13 獲得幫助 101
4.2.14 隨意實驗 102
4.2.15 注銷 102
4.3 發揮桌麵的最大作用 102
4.3.1 GNOME桌麵術語 102
4.3.2 打開文件 103
4.3.3 麵闆 104
4.3.4 主菜單 105
4.3.5 窗口 105
4.3.6 對象的上下文菜單 109
4.4 更新、安裝和刪除軟件包 112
4.4.1 更新 113
4.4.2 添加/刪除軟件 113
4.5 在哪裏能找到文檔 114
4.5.1 GNOME桌麵幫助窗口 114
4.5.2 man:顯示係統手冊 114
4.5.3 apropos:根據關鍵字搜索 116
4.5.4 info:顯示工具的有關信息 117
4.5.5 --help選項 119
4.5.6 HOWTO:找到工作原理 120
4.5.7 獲得幫助 120
4.6 關於登錄的更多信息 123
4.6.1 登錄畫麵 123
4.6.2 如果無法登錄該怎麼辦 123
4.6.3 遠程登錄:終端仿真、ssh和撥號連接 124
4.6.4 從終端(仿真器)登錄 124
4.6.5 更改密碼 125
4.6.6 使用虛擬控製颱 127
4.7 在命令行中工作 127
4.7.1 糾正錯誤 128
4.7.2 重復/編輯命令行 129
4.8 本章小結 130
4.9 練習 131
4.10 高級練習 132
第5章 Linux實用程序 133
5.1 特殊字符 134
5.2 基本實用程序 135
5.2.1 ls:列齣文件的名稱 135
5.2.2 cat:顯示一個文本文件 136
5.2.3 rm:刪除一個文件 136
5.2.4 less即more:一次僅顯示一個文本文件的一屏 137
5.2.5 hostname:顯示係統名稱 137
5.3 使用文件 137
5.3.1 cp:復製一個文件 137
5.3.2 mv:更改文件名 138
5.3.3 lpr:打印文件 139
5.3.4 grep:搜索字符串 140
5.3.5 head:顯示文件的開頭 140
5.3.6 tail:顯示文件的末尾 141
5.3.7 sort:按順序顯示文件 142
5.3.8 uniq:從文件中刪除重復行 142
5.3.9 diff:比較兩個文件 143
5.3.10 file:標識文件的內容 144
5.4 |(Pipe):進程間通信 144
5.54 個常用工具 145
5.5.1 echo:顯示文本 145
5.5.2 date:顯示時間和日期 146
5.5.3 script:記錄Shell會話 146
5.5.4 unix2dos:把Linux和Macintosh文件轉換為Windows格式 147
5.6 壓縮和歸檔文件 148
5.6.1 bzip2:壓縮文件 148
5.6.2 bzcat和bunzip2:解壓縮文件 149
5.6.3 gzip:壓縮文件 150
5.6.4 tar:打包和解包文檔 150
5.7 定位實用程序 153
5.7.1 which和whereis:定位一個實用程序 153
5.7.2 locate:搜索一個文件 154
5.8 顯示用戶和係統信息 155
5.8.1 who:列齣係統上的用戶 156
5.8.2 finger:列齣係統上的用戶 156
5.8.3 w:列齣係統上的用戶 158
5.9 與其他用戶通信 158
5.9.1 write:發送消息 158
5.9.2 mesg:拒絕或接受消息 159
5.10 電子郵件 160
5.11 教程:使用vim創建和編輯文件 160
5.11.1 啓動vim 161
5.11.2 命令和輸入模式 162
5.11.3 輸入文字 163
5.11.4 獲得幫助 164
5.11.5 結束編輯會話 167
5.11.6 兼容參數 167
5.12 本章小結 167
5.13 練習 169
5.14 高級練習 170
第6章 Linux文件係統 172
6.1 分層文件係統 173
6.2 目錄文件和普通文件 174
6.2.1 文件名 175
6.2.2 工作目錄 177
6.2.3 你的主目錄 177
6.3 路徑名 178
6.3.1 絕對路徑 178
6.3.2 相對路徑 179
6.4 目錄操作 180
6.4.1 mkdir:創建一個目錄 181
6.4.2 cd:改變工作目錄 182
6.4.3 rmdir:刪除一個目錄 183
6.4.4 使用路徑名 184
6.4.5 mv, cp:移動或復製文件 185
6.4.6 mv:移動目錄 186
6.4.7 重要的標準目錄和文件 186
6.5 訪問權限 188
6.5.1 ls -l:顯示權限 189
6.5.2 chmod:更改訪問權限 190
6.5.3 setuid和setgid權限 192
6.5.4 目錄訪問權限 193
6.6 ACL:訪問控製列錶 195
6.6.1 啓用ACL 195
6.6.2 使用訪問規則 196
6.6.3 為目錄設置默認規則 199
6.7 鏈接 200
6.7.1 硬鏈接 201
6.7.2 符號鏈接 204
6.7.3 rm:刪除鏈接 206
6.8 本章小結 206
6.9 練習 208
6.10 高級練習 210
第7章 Shell 211
7.1 命令行 212
7.1.1 語法 212
7.1.2 處理命令行 215
7.1.3 執行命令 217
7.1.4 編輯命令行 218
7.2 標準輸入和標準輸齣 218
7.2.1 作為文件的屏幕 218
7.2.2 作為標準輸入和標準輸齣的鍵盤和屏幕 218
7.2.3 重定嚮 220
7.2.4 管道 224
7.3 在後颱運行命令 227
7.3.1 將作業從前颱移到後颱 228
7.3.2 kill:中止後颱作業 229
7.4 文件名生成/路徑名擴展 229
7.4.1 ?特殊字符 230
7.4.2 *特殊字符 231
7.4.3 []特殊字符 232
7.5 內置命令 234
7.6 本章小結 235
7.7 練習 236
7.8 高級練習 237
第3部分 Fedora/RHEL深入挖掘 239
第8章 Linux圖形用戶界麵:X和GNOME 240
8.1 X Window係統 241
8.1.1 使用X Window係統 243
8.1.2 桌麵環境/管理器 248
8.2 Nautilus文件瀏覽器窗口 249
8.2.1 視圖麵闆 250
8.2.2 側邊欄 250
8.2.3 控製欄 252
8.2.4 菜單欄 252
8.3 Nautilus空間視圖(RHEL) 255
8.4 GNOME工具. 256
8.4.1 選擇字體窗口 256
8.4.2 選擇顔色窗口 257
8.4.3 Run Application窗口 257
8.4.4 搜索文件 257
8.4.5 GNOME終端仿真器/Shell 259
8.5 本章小結 259
8.6 練習 260
8.7 高級練習 261
第9章 Bourne Again Shell 262
9.1 背景 263
9.2 Shell基礎 264
9.2.1 啓動文件 264
9.2.2 符號命令 268
9.2.3 重定嚮標準錯誤 268
9.2.4 編寫一個簡單的shell腳本 271
9.2.5 分隔和分組命令 275
9.2.6 作業控製 278
9.2.7 操作目錄棧 281
9.3 參數和變量 283
9.3.1 用戶創建變量 284
9.3.2 變量屬性 287
9.3.3 關鍵字變量 289
9.4 特殊字符 297
9.5 進程 298
9.5.1 進程結構 298
9.5.2 進程標識 298
9.5.3 執行命令 300
9.6 曆史 300
9.6.1 控製曆史的變量 301
9.6.2 重新執行和編輯命令 302
9.6.3 Readline庫 310
9.7 彆名 316
9.7.1 彆名中的單引號和雙引號 317
9.7.2 彆名的示例 318
9.8 函數 320
9.9 控製bash:特性和選項 323
9.9.1 命令行選項 323
9.9.2 shell特性 323
9.10 處理命令行 326
9.10.1 曆史擴展 327
9.10.2 彆名替代 327
9.10.3 解析和掃描命令行 327
9.10.4 命令行擴展 328
9.11 本章小結 336
9.12 練習 337
9.13 高級練習 339
第10章 網絡與因特網 341
10.1 網絡介紹 342
10.2 網絡類型及其工作原理 343
10.2.1 廣播網絡 344
10.2.2 點對點網絡 344
10.2.3 交換網絡 345
10.2.4 LAN:局域網 345
10.2.5 WAN:廣域網 348
10.2.6 網關和路由器的互聯網絡 348
10.2.7 網絡協議 351
10.2.8 IPv4 353
10.2.9 IPv6(互聯網協議第6版) 353
10.2.10 主機地址 357
10.2.11 CIDR:無類彆域間路由 360
10.2.12 主機名 360
10.3 通過網絡通信 361
10.3.1 finger:顯示遠程用戶信息 362
10.3.2 郵件列錶服務器 362
10.4 網絡工具 362
10.4.1 可信主機 363
10.4.2 OpenSSH工具 363
10.4.3 telnet:登錄遠程係統 363
10.4.4 ftp:通過網絡傳輸文件 366
10.4.5 ping:測試網絡連接 366
10.4.6 traceroute:跟蹤互聯網路由 367
10.4.7 host和dig:查詢互聯網名稱服務器 368
10.4.8 whois:查找Internet站點信息 369
10.5 分布式計算 370
10.5.1 客戶端/服務器模型 371
10.5.2 DNS:域名服務 371
10.5.3 端口 373
10.5.4 NIS:網絡信息服務 374
10.5.5 NFS:網絡文件係統 374
10.6 WWW:萬維網 379
10.6.1 瀏覽器 380
10.6.2 搜索引擎 381
10.6.3 URL:統一資源定位器 381
10.7 本章小結 381
10.8 練習 382
10.9 高級練習 383
第4部分 係統管理 385
第11章 係統管理:核心概念 386
11.1 以root權限運行命令 388
11.1.1 特權用戶的特殊權力 388
11.1.2 獲取root權限 389
11.1.3 使用su獲取root權限 391
11.1.4 使用sudo獲取root權限 393
11.1.5 sudoers:配置sudo 398
11.1.6 鎖定root賬戶(刪除root密碼) 404
11.1.7 consolehelper:允許普通用戶運行特權命令 404
11.2 init守護進程 405
11.2.1 systemd init守護進程(Fedora) 405
11.2.2 Upstart init 守護進程(RHEL) 416
11.2.3 SysVinit(RC)腳本:啓動和停止係統服務(Fedora/RHEL) 423
11.3 係統操作 428
11.3.1 運行級彆 429
11.3.2 引導係統 430
11.3.3 單用戶模式 430
11.3.4 進入圖形化多用戶模式 431
11.3.5 登錄 432
11.3.6 注銷 433
11.3.7 關閉係統 433
11.3.8 崩潰 435
11.4 救援已安裝的係統 437
11.5 確保係統安全 437
11.5.1 避免特洛伊木馬 438
11.5.2 SELinux 439
11.5.3 PAM 443
11.6 係統管理工具 448
11.6.1 文本型管理工具 448
11.6.2 圖形化配置工具 455
11.7 設置服務器 456
11.7.1 配置文件中的標準規則 457
11.7.2 rpcinfo:顯示關於rpcbind的信息 459
11.7.3 xinetd超級服務器 460
11.7.4 保護服務器 463
11.8 DHCP: 配置網絡接口 469
11.8.1 更多信息 469
11.8.2 DHCP的工作原理 469
11.8.3 DHCP客戶端 470
11.8.4 DHCP服務器 471
11.9 nsswitch.conf:首先查看哪個服務 473
11.9.1 信息 473
11.9.2 方法 474
11.9.3 搜索順序 474
11.9.4 操作項 474
11.9.5 compat方法:passwd、group和shadow文件中的±. 475
11.10 獲得幫助 476
11.11 本章小結 476
11.12 練習 477
11.13 高級練習 478
第12章 文件、目錄和文件係統 479
12.1 重要的文件和目錄 480
12.2 文件類型 493
12.2.1 普通文件、目錄、鏈接和Inode 493
12.2.2 設備特殊文件 494
12.3 文件係統 497
12.3.1 mount:掛載文件係統 498
12.3.2 umount:卸載文件係統 501
12.3.3 fstab:跟蹤文件係統 502
12.3.4 fsck:檢查文件係統的完整性 503
12.3.5 tune2fs:更改文件係統參數 504
12.4 本章小結 506
12.5 練習 506
12.7 高級練習 506
第13章 查找、下載和安裝軟件 507
13.1 簡介 508
13.2 JumpStart:使用yum安裝和卸載軟件包 509
13.3 尋找包含所需應用程序或文件的軟件包 513
13.4 yum:保持係統最新 515
13.4.1 更新包 515
13.4.2 yum 命令 516
13.4.3 yum Groups 517
13.4.4 使用yumdownloader下載RPM包文件 518
13.4.5 yum.conf:配置yum 519
13.4.6 yum 資源庫 520
13.5 BitTorrent 521
13.6 RPM:RPM軟件包管理器 524
13.6.1 查詢軟件包和文件 525
13.6.2 安裝、升級和卸載軟件包 527
13.6.3 安裝Linux內核二進製文件 528
13.7 安裝非rpm軟件 528
13.7.1 /opt和/usr/local目錄 528
13.7.2 GNU配置和構建係統 529
13.8 保持軟件最新 530
13.8.1 Bugs(缺陷) 531
13.8.2 Errata(勘誤錶) 531
13.8.3 Red Hat網絡(RHEL) 531
13.9 wget:非交互式下載文件 532
13.10 本章小結 533
13.11 練習 533
13.12 高級練習 534
第14章 使用CUPS進行打印 535
14.1 概述 536
14.1.1 先決條件 537
14.1.2 更多信息 537
14.1.3 注記 538
14.2 Fedora/RHEL自動配置本地打印機 538
14.3 JumpStart I:使用system-config-printer配置打印機 538
14.3.1 配置選項 539
14.4 JumpStart II:設置本地或遠程打印機 540
14.5 使用CUPS Web界麵 544
14.6 配置打印機 546
14.6.1 修改打印機 546
14.6.2 CUPS Web界麵 546
14.6.3 在命令行中使用CUPS 547
14.6.4 共享CUPS打印機 551
14.7 傳統的UNIX打印 553
14.8 從Windows打印 554
14.8.1 使用CUPS打印 554
14.8.2 使用Samba打印 555
14.9 打印到Windows 556
14.10 本章小結 556
14.11 練習 557
14.12 高級練習 557
第15章 構建Linux內核 558
15.1 下載、安裝和預備內核源代碼 559
15.1.1 先決條件 560
15.1.2 更多信息 560
15.1.3 下載源代碼 560
15.1.4 安裝源代碼 561
15.1.5 預備源代碼 562
15.2 配置和編譯Linux內核 563
15.2.1 標記內核 563
15.2.2 config:配置內核 564
15.2.3 定製內核 565
15.2.4 清理源代碼樹 567
15.2.5 復製配置文件 568
15.2.6 編譯內核映像文件和可加載模塊 568
15.2.7 使用可加載內核模塊 568
15.3 安裝內核、模塊和相關文件 569
15.4 GRUB:Linux引導加載程序 570
15.4.1 配置GRUB 571
15.4.2 grub-install:安裝MBR和GRUB文件 572
15.5 dmesg:顯示內核消息 572
15.6 本章小結 573
15.7 練習. 573
15.8 高級練習 574
第16章 管理任務 575
16.1 配置用戶和組賬戶 576
16.1.1 system-config-users:管理用戶賬戶 576
16.1.2 從命令行管理用戶賬戶 578
16.2 備份文件 579
16.2.1 選擇備份介質 580
16.2.2 備份工具 580
16.2.3 執行一次簡單的備份 583
16.3 計劃任務 584
16.3.1 crond和anacron:安排日常任務 585
16.3.2 at:偶爾運行的任務 589
16.4 係統報告 589
16.4.1 vmstat:報告虛擬內存統計信息 589
16.4.2 top:列齣使用資源最多的進程 591
16.5 維護係統 592
16.5.1 parted:報告並分區硬盤 592
16.5.2 logrotate:管理日誌文件 595
16.5.3 rsyslogd:記錄係統消息 597
16.5.4 保證用戶知情 600
16.5.5 産生問題 601
16.5.6 解決問題 602
16.6 MySQL 609
16.6.1 更多信息 609
16.6.2 術語 609
16.6.3 語法和約定 610
16.6.4 先決條件 610
16.6.5 注記 610
16.6.6 JumpStart:設置MySQL 611
16.6.7 選項 611
16.6.8 my.cnf配置文件. 612
16.6.9 使用MySQL 612
16.7 本章小結 617
16.8 練習 618
16.9 高級練習 618
第17章 配置和監控局域網 619
17.1 設置硬件 620
17.1.1 連接計算機 620
17.1.2 路由器 621
17.1.3 NIC:網絡接口卡 621
17.1.4 工具 622
17.2 配置係統 624
17.3 NetworkManager:配置網絡連接 625
17.3.1 NetworkManager小程序的右鍵菜單 625
17.4 設置服務器 629
17.5 Cacti簡介 631
17.5.1 配置SNMP 632
17.5.2 設置LAMP 632
17.5.3 啓用Cacti輪詢 635
17.5.4 配置Cacti 635
17.5.5 基本Cacti管理 636
17.5.6 設置遠程數據源 638
17.6 更多信息 642
17.7 本章小結 642
17.8 練習 643
17.9 高級練習 643
下冊
第5部分 使用客戶端和設置服務器 1
第18章 OpenSSH:安全網絡通信 2
18.1 OpenSSH簡介 3
18.1.1 OpenSSH工作原理 4
18.1.2 文件 4
18.1.3 更多信息 6
18.2 運行ssh、scp和sftp(OpenSSH客戶端) 6
18.2.1 先決條件 6
18.2.2 JumpStart:使用ssh和scp連接OpenSSH服務器 6
18.2.3 配置OpenSSH客戶端 7
18.2.4 ssh:登錄遠程係統或在遠程係統上執行命令 10
18.2.5 scp:在本地與遠程係統之間復製文件 13
18.2.6 sftp:一個安全的FTP客戶端 15
18.2.7 ~/.ssh/config 和/etc/ssh/ssh_config配置文件 15
18.3 設置OpenSSH服務器(sshd) 17
18.3.1 先決條件 17
18.3.2 注記 17
18.3.3 JumpStart: 啓動OpenSSH服務器 18
18.3.4 授權密鑰: 自動登錄 18
18.3.5 ssh-agent: 存放你的私鑰 21
18.3.6 命令行選項 22
18.3.7 /etc/ssh/sshd_config配置文件 22
18.4 排除故障 24
18.5 隧道/端口轉發 26
18.5.1 轉發X11 26
18.5.2 端口轉發 27
18.6 本章小結 28
18.7 練習 29
18.8 高級練習 29
第19章 FTP:通過網絡傳輸文件 30
19.1 FTP簡介 31
19.1.1 安全 31
19.1.2 FTP連接 32
19.1.3 FTP客戶端 32
19.1.4 更多信息 33
19.1.5 注記 33
19.2 運行ftp和sftp的FTP客戶端 33
19.2.1 先決條件 33
19.2.2 JumpStart I:使用FTP下載文件 33
19.2.3 匿名FTP 37
19.2.4 自動登錄 37
19.2.5 二進製與ASCII傳輸模式 38
19.2.6 FTP規範 38
19.3 建立FTP服務器(vsftpd) 42
19.3.1 先決條件 42
19.3.2 注記 42
19.3.3 JumpStart II:啓動vsftpd FTP服務器 43
19.3.4 故障排除 43
19.3.5 配置vsftpd服務器 44
19.4 本章小結 56
19.5 練習 57
19.6 高級練習 57
第20章 sendmail:設置郵件服務器、客戶端及更多 58
20.1 sendmail簡介 59
20.1.1 齣站電子郵件 60
20.1.2 入站電子郵件 60
20.1.3 sendmail的替代品 60
20.1.4 更多信息 61
20.2 設置sendmail郵件服務器 62
20.2.1 先決條件 62
20.2.2 注記 62
20.3 JumpStart I:在客戶端配置sendmail 63
20.4 JumpStart II:在服務器上配置sendmail 64
20.5 使用sendmail消息 64
20.5.1 郵件日誌 65
20.5.2 彆名和轉發 66
20.5.3 相關程序 68
20.6 配置sendmail 68
20.6.1 sendmail.mc 和 sendmail.cf 文件 69
20.6.2 /etc/mail目錄中的其他文件 71
20.7 SpamAssassin 73
20.7.1 SpamAssassin的工作原理 74
20.7.2 先決條件 74
20.7.3 測試SpamAssassin 75
20.7.4 配置SpamAssassin 76
20.8 其他電子郵件工具 80
20.8.1 Webmail 80
20.8.2 郵件列錶 82
20.8.3 設置IMAP或POP3郵件服務器 85
20.9 基於身份認證的轉發 85
20.10 本章小結 87
20.11 練習 88
20.12 高級練習 88
第21章 NIS和LDAP 90
21.1 NIS簡介 91
21.1.1 NIS工作原理 91
21.1.2 更多信息 94
21.2 運行NIS客戶端 94
21.2.1 先決條件 94
21.2.2 注記 95
21.2.3 配置NIS客戶端 95
21.2.4 客戶端故障排除 97
21.2.5 yppasswd: 更改NIS密碼 98
21.3 設置NIS服務器 100
21.3.1 先決條件 100
21.3.2 注記 101
21.3.3 配置服務器 102
21.3.4 服務器故障排除 107
21.3.5 NIS密碼更新守護進程:yppasswdd 108
21.4 LDAP 109
21.4.1 更多信息 111
21.5 設置LDAP服務器 112
21.5.1 先決條件 112
21.5.2 注記 112
21.5.3 一步一步設置 112
21.6 使用LDAP的工具 118
21.6.1 Evolution郵件 118
21.7 本章小結 122
21.8 練習 122
21.9 高級練習 122
第22章 NFS:共享目錄層次結構 124
22.1 NFS簡介 126
22.1.1 更多信息 128
22.2 運行NFS客戶端 129
22.2.1 先決條件 129
22.2.2 JumpStart I: 掛載遠程目錄層次結構 129
22.2.3 mount: 掛載目錄層次結構 130
22.2.4 提高性能 133
22.2.5 /etc/fstab: 自動掛載目錄層次結構 134
22.3 設置NFS服務器 135
22.3.1 先決條件 135
22.3.2 注記 136
22.3.3 JumpStart II: 使用system-config-nfs配置NFS服務器(Fedora) 136
22.3.4 手動導齣目錄層次結構 138
22.3.5 係統在哪裏保存NFS掛載信息 142
22.3.6 exportfs: 維護導齣的目錄列錶 143
22.3.7 故障排除 144
22.4 automount: 按需掛載目錄層次結構 145
22.5 本章小結 149
22.6 練習 149
22.7 高級練習 149
第23章 Samba: Linux和Windows文件和打印機共享 151
23.1 Samba簡介 152
23.1.1 更多信息 153
23.1.2 注記 153
23.1.3 Samba用戶、用戶映射和密碼 154
23.1.4 smbpasswd和pdbedit: 使用Samba用戶和密碼 156
23.2 運行Samba客戶端 157
23.2.1 先決條件 157
23.2.2 從Linux使用共享 157
23.2.3 從Windows使用共享 160
23.3 設置Samba服務器 161
23.3.1 先決條件 161
23.3.2 JumpStart: 使用system-config-samba配置Samba服務器(Fedora) 162
23.3.3 swat: 配置Samba服務器 165
23.3.4 smb.conf: 手動配置Samba服務器 169
23.4 故障排除 177
23.5 本章小結 180
23.6 練習 180
23.7 高級練習 181
第24章 DNS/BIND:跟蹤域名和IP地址 182
24.1 DNS簡介 183
24.1.1 節點、域和子域 184
24.1.2 區域 185
24.1.3 查詢 186
24.1.4 服務器 187
24.1.5 資源記錄 188
24.1.6 DNS查詢和響應 191
24.1.7 反嚮名稱解析 192
24.1.8 DNS工作原理 194
24.1.9 更多信息 194
24.2 設置DNS服務器 195
24.2.1 先決條件 195
24.2.2 注記 196
24.2.3 JumpStart I: 設置DNS緩存 197
24.2.4 JumpStart II: 使用system-config-bind設置域(Fedora) 198
24.3 配置DNS服務器 203
24.3.1 named.conf: named配置文件 203
24.3.2 區域文件 205
24.3.3 設置DNS緩存 206
24.3.4 DNS粘附記錄 212
24.3.5 TSIG: 事務簽名 213
24.3.6 在chroot Jail中運行BIND 214
24.3.7 故障排除 216
24.4 設置不同類型的DNS服務器 217
24.4.1 一個全功能的名稱服務器 218
24.4.2 從服務器 222
24.4.3 水平分割的服務器 222
24.5 本章小結 228
24.6 練習 228
24.7 高級練習 229
第25章 system-config-firewall和iptables:設置防火牆 230
25.1 JumpStart:使用system-config-firewall構建防火牆 231
25.2 iptables簡介 234
25.2.1 更多信息 236
25.2.2 先決條件 237
25.2.3 注記 238
25.2.4 剖析iptables命令 239
25.3 使用iptables構建規則集 241
25.3.1 命令 241
25.3.2 包匹配條件 243
25.3.3 顯示條件 243
25.3.4 匹配擴展 244
25.3.5 目標 246
25.4 復製規則到內核和從內核復製規則 247
25.5 system-config-firewall: 生成規則集 248
25.6 使用NAT共享Internet連接 250
25.6.1 多個客戶端連接到一個Internet連接 251
25.6.2 多颱服務器連接到一個Internet連接 253
25.7 本章小結 254
25.8 練習 254
25.9 高級練習 255
第26章 Apache(httpd):設置Web服務器 256
26.1 簡介 257
26.1.1 更多信息 258
26.1.2 注記 259
26.2 運行Apache Web服務器 260
26.2.1 先決條件 260
26.2.2 JumpStart I: 啓動並運行Apache 261
26.3 文件係統布局 263
26.4 配置指令 264
26.4.1 指令I: 入門時可能要修改的指令 265
26.4.2 上下文和容器 270
26.4.3 指令II: 高級指令 274
26.5 Fedora/RHEL中的httpd.conf配置文件 289
26.5.1 第1部分:全局環境配置 289
26.5.2 第2部分:主服務器配置 291
26.5.3 第3部分:虛擬主機配置 292
26.6 高級配置 293
26.6.1 重定嚮 293
26.6.2 內容協商 293
26.6.3 服務器生成的目錄列錶(索引) 295
26.6.4 虛擬主機 295
26.7 故障排除 298
26.8 模塊 299
26.8.1 mod_cgi和CGI腳本 301
26.8.2 mod_ssl 302
26.8.3 身份認證模塊和.htaccess文件 304
26.8.4 腳本模塊 305
26.8.5 多處理模塊(MPM) 306
26.9 webalizer: Web流量分析 307
26.10 MRTG:流量負載監控 307
26.11 錯誤代碼 307
26.12 本章小結 308
26.13 練習 309
26.14 高級練習 309
第6部分 編程工具 311
第27章 Bourne Again Shell編程 312
27.1 控製結構 313
27.1.1 if .then 314
27.1.2 if .then .else 317
27.1.3 if .then .elif 319
27.1.4 for .in 326
27.1.5 for 328
27.1.6 while 330
27.1.7 until 333
27.1.8 break和continue 336
27.1.9 case 336
27.1.10 select 343
27.1.11 Here文件 345
27.2 文件描述符 347
27.3 參數和變量 351
27.3.1 數組變量 352
27.3.2 變量的局部有效性 353
27.3.3 特殊參數 356
27.3.4 位置參數 358
27.3.5 擴展Null和Unset變量 362
27.4 內置命令 364
27.4.1 type:顯示命令信息 364
27.4.2 read:接受用戶輸入 365
27.4.3 exec:執行命令或重定嚮文件描述符 369
27.4.4 trap:捕獲信號 371
27.4.5 kill:終止一個進程 375
27.4.6 getopts:解析選項 375
27.4.7部分內置命令列錶 378
27.5 錶達式 379
27.5.1 數學運算 379
27.5.2 邏輯運算(條件錶達式) 381
27.5.3 字符串模式匹配 382
27.5.4 運算符 383
27.6 shell程序 388
27.6.1 遞歸的shell腳本 389
27.6.2 shell腳本quiz 392
27.7 本章小結 399
27.8 練習 400
27.9 高級練習 402
第28章 Perl腳本語言 405
28.1 Perl簡介 406
28.1.1 更多信息 407
28.1.2 幫助 407
28.1.3 perldoc 407
28.1.4 術語 409
28.1.5 運行Perl程序 410
28.1.6 語法 412
28.2 變量 414
28.2.1 標量變量 416
28.2.2 數組變量 417
28.2.3 哈希變量 420
28.3 控製結構 422
28.3.1 if/unless 422
28.3.2 if .else 424
28.3.3 if .elsif .else 425
28.3.4 foreach/for 426
28.3.5 last和next 427
28.3.6 while/until 429
28.4 使用文件 431
28.5 排序 435
28.6 子程序 436
28.7 正則錶達式 439
28.7.1 語法和“=~”運算符 439
28.8 CPAN模塊 444
28.9 示例 447
28.10 本章小結 451
28.11 練習 451
28.12 高級練習 452
第7部分 附錄 453
附錄A 正則錶達式 454
A.1 字符 455
A.2 分隔符 455
A.3 簡單的字符串 455
A.4 特殊字符 455
A.4.1 句點 455
A.4.2 方括號 456
A.4.3 星號 456
A.4.4 插入符和$符號 456
A.4.5 引用特殊字符 457
A.5 規則 458
A.5.1 最可能的匹配 458
A.5.2 空的正則錶達式 458
A.6 括號錶達式 459
A.7 字符串替換 459
A.7.1 &符號 459
A.7.2 引用數字 460
A.8 擴展的正則錶達式 460
A.9 附錄小結 461
附錄B 幫助 463
B.1 解決問題 464
B.2 查找與Linux相關的信息 465
B.2.1 文檔 465
B.2.2 有用的Linux站點 466
B.2.3 Linux新聞組 466
B.2.4 郵件列錶 467
B.2.5 詞匯 467
B.2.6 軟件 467
B.2.7 Office套件和文字處理器 469
B.3 指定一個終端 469
附錄C 安全 471
C.1 加密 472
C.1.1 公鑰(不對稱)加密 473
C.1.2 對稱密鑰加密 474
C.1.3 加密實現 475
C.1.4 GnuPG/PGP 475
C.2 文件安全 476
C.3 電子郵件安全 477
C.3.1 MTA(郵件傳輸代理) 477
C.3.2 MUA(郵件用戶代理) 477
C.4 網絡安全 477
C.4.1 網絡安全解決方案 478
C.4.2 網絡安全指南 478
C.5 主機安全 480
C.5.1 登錄安全 481
C.5.2 遠程訪問安全 482
C.5.3 病毒和蠕蟲 482
C.5.4 物理安全 483
C.6 安全資源 484
C.7 附錄小結 486
附錄D 自由軟件的定義 487
詞匯錶 491
JumpStart索引 542
文件樹索引 543
工具索引 547
主索引 552
· · · · · · (
收起)