第一部分 基本管理技術 1
第1章 從何處入手 3
1.1 讀者的知識背景 4
1.2 Linux同UNIX的關係 4
1.3 Linux和UNIX的曆史 5
1.4 Linux的發行版本 5
1.4.1 最好的發行版本是什麼 6
1.4.2 特定於發行版本的係統管理工具 7
1.5 錶示法和印刷約定 7
1.6 從哪裏獲得信息 8
1.6.1 手冊頁的組織 9
1.6.2 man:讀取手冊頁 10
1.6.3 其他的Linux信息資源 10
1.7 如何找到和安裝軟件 11
1.8 係統管理員的基本任務 12
1.8.1 增刪用戶 12
1.8.2 增刪硬件 13
1.8.3 執行備份 13
1.8.4 安裝新軟件 13
1.8.5 監視係統 13
1.8.6 故障診斷 13
1.8.7 維護本地文檔 13
1.8.8 審計安全 13
1.8.9 幫助用戶 14
1.9 重壓下的係統管理員 14
1.10 推薦讀物 15
1.11 習題 15
第2章 引導和關機 17
2.1 引導 17
2.1.1 自動引導和手工引導 18
2.1.2 引導過程的步驟 18
2.1.3 內核初始化 18
2.1.4 硬件配置 19
2.1.5 係統進程 19
2.1.6 操作員乾預(僅限手工引導) 19
2.1.7 執行啓動腳本 20
2.1.8 多用戶操作 20
2.2 引導PC 20
2.2.1 PC與專有硬件的不同 20
2.2.2 PC引導過程 20
2.3 引導加載程序:LILO和GRUB 21
2.3.1 LILO:傳統的Linux引導加載程序 21
2.3.2 GRUB:全麵統一的引導加載程序 22
2.3.3 PC上的多重引導 23
2.3.4 多重引導的技巧 23
2.3.5 LILO的多重引導配置 24
2.4 引導單用戶模式 25
2.5 啓動腳本 25
2.5.1 init和運行級 26
2.5.2 Red Hat的啓動腳本 28
2.5.3 SuSE啓動腳本 29
2.5.4 Debian引導腳本 31
2.6 重新引導和關機 31
2.6.1 關閉電源 31
2.6.2 shutdown:停止係統的妥善方式 32
2.6.3 halt:關閉係統的更簡單方式 32
2.6.4 reboot:快速的重新啓動 32
2.6.5 telinit: 改變init的運行級 32
2.6.6 Poweroff:請Linux關閉電源 33
2.7 習題 33
第3章 超級用戶的權力 34
3.1 文件和進程的歸屬關係 34
3.2 超級用戶 35
3.3 選擇root的口令 36
3.4 成為root用戶 37
3.4.1 su:替換用戶身份 37
3.4.2 sudo:受限的su 37
3.5 其他的僞用戶 39
3.5.1 bin:係統命令的傳統屬主 40
3.5.2 daemon:無特權係統軟件的屬主 40
3.5.3 nobody:普通NFS用戶 40
3.6 習題 40
第4章 進程控製 41
4.1 進程的組成部分 41
4.1.1 PID:進程的ID號 42
4.1.2 PPID:父PID 42
4.1.3 UID和EUID: 實際的和有效的用戶ID 42
4.1.4 GID和EGID:實際的和有效的組ID 43
4.1.5 謙讓度 43
4.1.6 控製終端 43
4.2 進程的生命周期 43
4.3 信號 44
4.4 KILL和KILLALL: 發送信號 46
4.5 進程的狀態 46
4.6 nice和renice: 影響調度優先級 47
4.7 PS:監視進程 48
4.8 TOP:更好地監視進程 49
4.9 失控進程 50
4.10 習題 51
第5章 文件係統 53
5.1 路徑名稱 54
5.2 安裝和卸載文件係統 55
5.3 文件樹的組織 56
5.4 文件類型 58
5.4.1 普通文件 59
5.4.2 目錄 59
5.4.3 字符設備文件和塊設備文件 59
5.4.4 本地域套接口 60
5.4.5 有名管道 60
5.4.6 符號鏈接 60
5.5 文件屬性 61
5.5.1 setuid和setgid位 61
5.5.2 粘附位 61
5.5.3 權限位 61
5.5.4 查看文件屬性 62
5.5.5 chmod:改變權限 63
5.5.6 chown:改變歸屬關係和組 64
5.5.7 umask:分配默認的權限 65
5.5.8 額外的標誌 65
5.6 習題 66
第6章 添加新用戶 68
6.1 /etc/passwd文件 68
6.1.1 登錄名 69
6.1.2 加密的口令 70
6.1.3 UID號 71
6.1.4 默認的GID號 71
6.1.5 GECOS字段 72
6.1.6 主目錄 72
6.1.7 登錄shell 72
6.2 /etc/shadow文件 73
6.3 /etc/group文件 74
6.4 添加用戶 75
6.4.1 編輯passwd和shadow文件 75
6.4.2 設置初始口令 76
6.4.3 創建用戶的主目錄 76
6.4.4 復製默認啓動文件 76
6.4.5 設置用戶的郵件主目錄 77
6.4.6 編輯/etc/group文件 78
6.4.7 設置磁盤配額 78
6.4.8 驗證新的登錄 78
6.4.9 記錄用戶的狀態和聯係信息 79
6.5 刪除用戶 79
6.6 禁止登錄 79
6.7 賬號管理工具 80
6.8 習題 81
第7章 串行設備 82
7.1 串行標準 82
7.2 替代連接器 85
7.2.1 微型DIN-8連接器 85
7.2.2 DB-9連接器 86
7.2.3 RJ-45連接器 86
7.2.4 RJ-45連綫的Yost標準 87
7.3 硬載波和軟載波 89
7.4 硬件流控 90
7.5 電纜長度 90
7.6 串行設備文件 90
7.7 setserial: 把串口參數通知給驅動程序 91
7.8 串行設備的軟件配置 91
7.9 硬件終端的配置 92
7.9.1 登錄過程 92
7.9.2 /etc/inittab文件 93
7.9.3 終端支持: termcap和terminfo數據庫 94
7.10 特殊字符和終端驅動程序 95
7.11 stty: 設置終端的選項 96
7.12 tset: 自動設置選項 96
7.13 怎樣解開僵住的終端 97
7.14 調製解調器 98
7.14.1 調製、錯誤糾正和數據壓縮協議 98
7.14.2 minicom: 撥齣程序 99
7.14.3 雙嚮調製解調器 99
7.15 調試串行綫 99
7.16 其他常用的I/O端口 100
7.16.1 並口 100
7.16.2 USB: 通用串行總綫 101
7.17 習題 102
第8章 增加硬盤 103
8.1 硬盤接口 103
8.1.1 SCSI接口 104
8.1.2 IDE接口 107
8.1.3 SCSI和IDE的比較 108
8.2 硬盤的幾何結構 109
8.3 硬盤安裝過程概述 110
8.3.1 連接硬盤 110
8.3.2 格式化硬盤 111
8.3.3 標記硬盤和硬盤分區 111
8.3.4 建立邏輯捲 112
8.3.5 Linux文件係統 113
8.4 EXT2和EXT3文件係統 114
8.4.1 設置ext3fs擴展 115
8.4.2 設置自動安裝 115
8.4.3 啓用交換分區 117
8.5 fsck: 檢查和修復文件係統 117
8.6 嚮Linux增加硬盤: 一步步的指導 119
8.7 習題 123
第9章 周期性進程 124
9.1 cron: 按時間錶執行命令 124
9.2 crontab文件的格式 125
9.3 crontab管理 127
9.4 cron的常見用途 127
9.4.1 清理文件係統 127
9.4.2 配置文件的網絡分布 128
9.4.3 循環日誌文件 128
9.5 習題 129
第10章 備份 130
10.1 備份基本原理 131
10.1.1 從一颱機器執行所有的轉儲 131
10.1.2 給磁帶加捲標 131
10.1.3 選擇閤理的備份間隔 131
10.1.4 仔細選擇文件係統 131
10.1.5 在一捲磁帶上做日常轉儲 132
10.1.6 使文件係統小於轉儲設備 132
10.1.7 異地保存磁帶 132
10.1.8 保護備份 133
10.1.9 執行轉儲期間的限製活動 133
10.1.10 檢查磁帶 133
10.1.11 發掘磁帶的壽命 134
10.1.12 為備份而設計數據 134
10.1.13 作最壞的準備 134
10.2 備份設備和介質 134
10.2.1 軟盤 135
10.2.2 超級軟盤 135
10.2.3 CD-R和CD-RW 135
10.2.4 可移動硬盤 136
10.2.5 8mm盒式磁帶 136
10.2.6 DAT(4mm)盒式磁帶 136
10.2.7 Travan磁帶 137
10.2.8 DLT 137
10.2.9 AIT 137
10.2.10 Mammoth 137
10.2.11 自動選帶機、自動換帶機以及磁帶庫 138
10.2.12 硬盤 138
10.2.13 介質類型小結 138
10.2.14 設備選型 139
10.3 用dump建立增量備份機製 139
10.3.1 轉儲文件係統 140
10.3.2 轉儲順序 142
10.4 用restore從轉儲中恢復 143
10.4.1 恢復單個文件 143
10.4.2 恢復整個文件係統 145
10.5 為係統升級而執行轉儲和恢復 146
10.6 使用其他存檔程序 146
10.6.1 tar: 打包文件 146
10.6.2 cpio: 來自古代的存檔工具 147
10.6.3 dd:處理位流 147
10.6.4 volcopy: 復製文件係統 147
10.7 在一捲磁帶上使用多個文件 147
10.8 AMANDA 148
10.8.1 Amanda的體係結構 149
10.8.2 安裝Amanda 149
10.8.3 amanda.conf文件 150
10.8.4 disklist文件 154
10.8.5 Amanda的日誌文件 155
10.8.6 調試Amanda 155
10.8.7 從一個Amanda備份恢復文件 158
10.8.8 Amanda的替換工具: 其他開放源代碼的備份軟件包 159
10.9 商用備份産品 159
10.9.1 ADSM/TSM 160
10.9.2 Veritas 160
10.9.3 Legato 161
10.9.4 其他選擇 161
10.10 推薦讀物 161
10.11 習題 161
第11章 係統日誌與日誌文件 163
11.1 日誌記錄的策略 163
11.1.1 扔掉日誌文件 163
11.1.2 輪換日誌文件 164
11.1.3 存檔日誌文件 165
11.2 Linux的日誌文件 165
11.2.1 特殊的日誌文件 166
11.2.2 內核和啓動日誌 167
11.3 Logrotate: 管理日誌文件 168
11.4 syslog: 係統事件的日誌程序 169
11.4.1 配置syslogd 170
11.4.2 配置文件舉例 172
11.4.3 syslog輸齣的樣本 174
11.4.4 設計站點日誌方案 174
11.4.5 使用syslog的軟件 175
11.4.6 調試syslog 175
11.4.7 在程序中使用syslog 176
11.5 分析日誌文件 177
11.6 習題 178
第12章 驅動程序和內核 179
12.1 內核的適應性 180
12.2 配置內核的原因 180
12.3 配置方法 180
12.4 調整Linux內核 181
12.5 添加設備驅動程序 182
12.6 添加Linux設備驅動程序 183
12.7 設備文件 185
12.8 可加載內核模塊 185
12.9 構造Linux內核 187
12.10 如果沒問題就不要動它 189
12.11 推薦讀物 190
12.12 習題 190
第二部分 網絡管理技術 191
第13章 TCP/IP網絡 193
13.1 TCP/IP和Internet 194
13.1.1 簡要的曆史迴顧 194
13.1.2 當今Internet的管理方法 195
13.1.3 網絡標準和文獻 195
13.2 連網技術概述 196
13.3 分組和封裝 197
13.3.1 鏈路層 198
13.3.2 包的尋址方式 199
13.3.3 端口 200
13.3.4 地址類型 200
13.4 IP地址詳解 201
13.4.1 IP地址分類 201
13.4.2 子網和網絡掩碼 201
13.4.3 IP地址危機 204
13.4.4 CIDR:無類域間路由 204
13.4.5 地址分配 206
13.4.6 私用地址和NAT 206
13.4.7 IPv6尋址方式 208
13.5 路由 210
13.5.1 路由錶 210
13.5.2 ICMP重定嚮 211
13.6 ARP:地址解析協議 212
13.7 將一颱主機加入網絡 213
13.7.1 分配主機名和IP地址 214
13.7.2 ifconfig:配置網絡接口 215
13.7.3 mii-tool: 配置自動協商和其他介質特有的選項 217
13.7.4 route:配置靜態路由 217
13.7.5 默認路由 219
13.7.6 配置DNS 219
13.7.7 Linux連網協議棧 220
13.8 特定於發行版本的網絡配置 221
13.8.1 Red Hat的網絡配置 221
13.8.2 SuSE的網絡配置 222
13.8.3 Debian的網絡配置 223
13.8.4 通過圖形用戶界麵配置網絡 224
13.9 DHCP:動態主機配置協議 224
13.9.1 DHCP軟件 225
13.9.2 DHCP的工作方式 225
13.9.3 ISC的DHCP服務器 226
13.9.4 Red Hat的DHCP配置 227
13.9.5 SuSE的DHCP配置 228
13.9.6 Debian的DHCP配置 228
13.10 Linux的動態重新配置和調整 229
13.11 安全問題 230
13.11.1 IP轉發 230
13.11.2 ICMP重定嚮 231
13.11.3 源路由 231
13.11.4 廣播ping和其他形式的定嚮廣播 231
13.11.5 IP欺騙 231
13.11.6 基於主機的防火牆 232
13.11.7 虛擬私用網絡 232
13.11.8 與安全有關的內核變量 232
13.12 Linux的NAT(IP僞裝) 233
13.13 PPP:點對點協議 234
13.13.1 解決PPP的性能問題 234
13.13.2 用PPP連網 235
13.13.3 讓主機使用PPP 235
13.13.4 控製PPP鏈路 235
13.13.5 尋找一個對話的主機 235
13.13.6 分配地址 236
13.13.7 路由 236
13.13.8 確保安全性 236
13.13.9 使用終端服務器 236
13.13.10 使用對話腳本 237
13.13.11 Linux上的PPP配置 237
13.14 Linux連網配置的特殊之處 243
13.15 推薦讀物 243
13.16 習題 244
第14章 路由 246
14.1 近觀包轉發 246
14.2 路由守護進程和路由協議 248
14.2.1 距離嚮量協議 249
14.2.2 鏈路狀態協議 250
14.2.3 代價度量 250
14.2.4 內部和外部協議 250
14.3 內部路由協議巡禮 251
14.3.1 RIP:路由信息協議 251
14.3.2 RIP-2:路由信息協議第2版 251
14.3.3 OSPF:開放最短路徑優先 252
14.3.4 IGRP和EIGRP:內部網關路由協議 252
14.3.5 IS-IS:ISO的"標準" 252
14.3.6 MOSPF、DVMRP和PIM:組播路由協議 253
14.3.7 路由器發現協議 253
14.4 routed:使用RIP的路由守護進程 253
14.5 gated:更好的路由守護進程 253
14.5.1 gated的啓動和控製 254
14.5.2 跟蹤 254
14.5.3 gated的配置文件 255
14.5.4 選項的配置語句 256
14.5.5 網絡接口定義 256
14.5.6 其他定義 257
14.5.7 RIP的協議配置 258
14.5.8 OSPF的一些預備知識 259
14.5.9 OSPF的協議配置 260
14.5.10 ICMP重定嚮的協議配置 261
14.5.11 靜態路由 262
14.5.12 導齣的路由 262
14.5.13 完整的gated配置舉例 263
14.6 路由策略的選擇標準 264
14.7 Cisco路由器 265
14.8 推薦讀物 267
14.9 習題 268
第15章 網絡硬件 269
15.1 選擇LAN、WAN,還是MAN 269
15.2 以太網:常見的局域網 270
15.2.1 以太網的工作方式 271
15.2.2 以太網拓撲結構 271
15.2.3 無屏蔽雙絞綫 272
15.2.4 連接和擴展以太網 273
15.3 無綫:流動人士的LAN 276
15.4 FDDI:令人失望且昂貴的局域網 276
15.5 ATM:有前途(但被痛苦地擊敗的)的LAN 277
15.6 幀中繼:被犧牲掉的WAN 278
15.7 ISDN:本土上的WAN 279
15.8 DSL和CM:大眾的WAN 279
15.9 網絡的前景 280
15.10 網絡測試和調試 280
15.11 建築物布綫 281
15.11.1 UTP電纜的選擇 281
15.11.2 到辦公室的連接 281
15.11.3 布綫標準 281
15.12 網絡設計問題 282
15.12.1 網絡結構與建築物結構 282
15.12.2 現成的網絡 283
15.12.3 擴展 283
15.12.4 擁塞 283
15.12.5 維護和建檔 283
15.13 管理問題 284
15.14 推薦的廠商 284
15.14.1 電纜和連接器 285
15.14.2 測試儀器 285
15.14.3 路由器/交換機 285
15.15 推薦讀物 286
15.16 習題 286
第16章 域名係統 287
16.1 DNS速成:添加新機器 287
16.2 DNS的曆史 288
16.3 誰需要DNS 289
16.4 DNS的新特性 290
16.5 DNS名字空間 291
16.5.1 域名管理 293
16.5.2 選擇域名 294
16.5.3 域名爆炸 294
16.5.4 注冊二級域名 295
16.5.5 創建子域 295
16.6 BIND軟件 295
16.6.1 BIND的版本 295
16.6.2 確定現有的BIND版本 296
16.6.3 BIND的組成 297
16.6.4 named: BIND的名字服務器 297
16.6.5 權威與僅緩存服務器 298
16.6.6 遞歸和非遞歸服務器 299
16.6.7 解析器庫例程 299
16.6.8 DNS的shell接口 300
16.7 DNS的工作原理 300
16.7.1 授權 300
16.7.2 緩存和效率 301
16.7.3 擴展的DNS協議 302
16.8 BIND客戶機問題 302
16.8.1 解析器配置 303
16.8.2 解析器測試 305
16.8.3 對係統其餘部分的影響 305
16.9 配置BIND服務器 305
16.9.1 硬件要求 305
16.9.2 named的啓動 306
16.9.3 配置文件 306
16.9.4 include語句 308
16.9.5 options語句 308
16.9.6 acl語句 312
16.9.7 server語句 312
16.9.8 logging語句 313
16.9.9 zone語句 313
16.9.10 key語句 316
16.9.11 trusted-keys語句 316
16.9.12 controls語句 316
16.9.13 split DNS和BIND 9的view語句 318
16.10 BIND配置舉例 319
16.10.1 傢用Linux係統 319
16.10.2 一傢小型的安全公司 321
16.10.3 大學裏的一個係 324
16.11 DNS數據庫 327
16.11.1 資源記錄 328
16.11.2 SOA記錄 330
16.11.3 NS記錄 331
16.11.4 A記錄 332
16.11.5 PTR記錄 332
16.11.6 MX記錄 333
16.11.7 CNAME記錄 335
16.11.8 CNAME擴展 335
16.11.9 LOC記錄 337
16.11.10 SRV記錄 337
16.11.11 TXT記錄 338
16.11.12 IPv6資源記錄 339
16.11.13 IPv6地址記錄 339
16.11.14 IPv6反嚮記錄 340
16.11.15 區文件中的命令 342
16.11.16 localhost區 343
16.11.17 粘閤記錄:區之間的鏈接 344
16.12 更新區文件 345
16.12.1 區傳送 346
16.12.2 動態更新 347
16.13 安全問題 348
16.13.1 再說訪問控製列錶 349
16.13.2 限製named 350
16.13.3 使用TSIG和TKEY保障服務器與服務器之間通信的安全 351
16.13.4 DNSSEC 352
16.13.5 Microsoft差,Linux好 357
16.14 測試和調試 358
16.14.1 日誌功能 358
16.14.2 調試級彆 362
16.14.3 用ndc調試 362
16.14.4 BIND 8的統計 363
16.14.5 BIND 9的統計 364
16.14.6 用nslookup、dig和host調試 365
16.14.7 殘缺授權 367
16.15 其他細節信息 368
16.15.1 綫索文件 368
16.15.2 localhost配置 369
16.15.3 主機管理工具 369
16.15.4 不在Internet上的係統的DNS 369
16.16 發行版本的特定信息 370
16.16.1 版本 370
16.16.2 BIND文件 370
16.16.3 名字服務器開關文件 370
16.16.4 配置文件 371
16.17 推薦讀物 371
16.17.1 郵件列錶和新聞組 371
16.17.2 書籍和其他文檔 372
16.17.3 在綫資源 372
16.17.4 RFC 372
16.18 習題 374
第17章 網絡文件係統 375
17.1 NFS概述 375
17.1.1 NFS協議的版本 375
17.1.2 傳輸協議的選擇 376
17.1.3 文件上鎖機製 376
17.1.4 磁盤配額 376
17.1.5 cookies與無狀態安裝 377
17.1.6 共享文件係統的命名規則 377
17.1.7 安全性與NFS 377
17.1.8 root訪問與nobody賬號 378
17.2 服務器端NFS 378
17.2.1 exports文件 379
17.2.2 nnfsd:提供文件服務 380
17.3 客戶端NFS 381
17.3.1 在啓動時安裝遠程文件係統 383
17.3.2 端口安全限製 383
17.4 nfsstat:轉儲NFS統計信息 383
17.5 專用NFS文件服務器 384
17.6 自動安裝 384
17.7 automount:最初的自動安裝程序 385
17.7.1 主控文件 386
17.7.2 映射文件 386
17.7.3 Executable maps 可執行的映射文件 387
17.8 AMD:更復雜的自動安裝程序 387
17.8.1 amd映射文件 387
17.8.2 啓動amd 388
17.8.3 停止amd 389
17.9 推薦讀物 389
17.10 習題 390
第18章 共享係統文件 391
18.1 共享什麼 392
18.2 把文件復製到各處 393
18.2.1 rdist:推文件 394
18.2.2 rsync:更安全地傳輸文件 396
18.2.3 拉文件 397
18.3 NIS:網絡信息服務 398
18.3.1 網絡組 399
18.3.2 製訂管理信息源的優先級 400
18.3.3 NIS的優缺點 401
18.3.4 NIS的工作方式 401
18.3.5 建立NIS域 403
18.4 NIS+:NIS之子 404
18.5 LDAP:輕量級目錄訪問協議 405
18.5.1 LDAP的文檔和規範 406
18.5.2 實際應用的LDAP 407
18.5.3 配置OpenLDAP服務器 407
18.5.4 公布服務器 408
18.5.5 設置LDAP客戶機 408
18.5.6 LDAP和安全 408
18.6 習題 409
第19章 電子郵件 410
19.1 郵件係統 412
19.1.1 用戶代理 412
19.1.2 傳輸代理 414
19.1.3 投遞代理 414
19.1.4 消息庫 414
19.1.5 訪問代理 415
19.1.6 郵件提交代理 415
19.2 剖析郵件消息 416
19.2.1 郵件尋址 416
19.2.2 閱讀郵件信頭 416
19.3 郵件基本原理 420
19.3.1 使用郵件服務器 420
19.3.2 使用郵件之傢 422
19.3.3 使用IMAP或POP 422
19.4 郵件彆名 423
19.4.1 從文件中獲取郵遞列錶 425
19.4.2 發郵件給文件 425
19.4.3 發郵件給程序 426
19.4.4 彆名舉例 426
19.4.5 郵件轉發 427
19.4.6 散列的彆名數據庫 428
19.4.7 郵遞列錶和實現清單的軟件 429
19.4.8 LDAP:輕量級目錄訪問協議 432
19.5 sendmail: 電子郵件的指揮 433
19.5.1 sendmail的曆史 434
19.5.2 各廠商提供的sendmail版本 434
19.5.3 從sendmail.org安裝sendmail 435
19.5.4 在Debian係統上安裝sendmail 437
19.5.5 開關文件 438
19.5.6 運行模式 438
19.5.7 郵件隊列 439
19.6 sendmail的配置 441
19.6.1 使用m4預處理器 441
19.6.2 sendmail的配置片段 442
19.6.3 從.mc樣本文件構建配置文件 443
19.6.4 改變sendmail的配置 444
19.7 基本的sendmail配置原語 444
19.7.1 VERSIONID宏 444
19.7.2 OSTYPE宏 445
19.7.3 DOMAIN宏 446
19.7.4 MAILER宏 447
19.8 sendmail高級配置原語 448
19.8.1 FEATURE宏 448
19.8.2 use_cw_file功能 448
19.8.3 redirect功能 449
19.8.4 always_add_domain功能 449
19.8.5 nocanonify功能 449
19.8.6 錶和數據庫 450
19.8.7 mailertable功能 451
19.8.8 genericstable功能 452
19.8.9 virtusertable功能 452
19.8.10 ldap_routing功能 453
19.8.11 僞裝和MASQUERADE_AS宏 454
19.8.12 MAIL_HUB和SMART_HOST宏 455
19.8.13 僞裝和路由 456
19.8.14 nullclient功能 456
19.8.15 local_lmtp和smrsh功能 457
19.8.16 local_procmail功能 457
19.8.17 LOCAL_*宏 458
19.8.18 配置選項 458
19.9 配置文件舉例 459
19.9.1 計算機科學係學生傢裏的機器 460
19.9.2 善用sendmail的小公司 461
19.9.3 另一個郵件主機/客戶機的例子 464
19.9.4 Red Hat的sendmail配置 467
19.9.5 SuSE的sendmail配置 468
19.9.6 Debian的sendmail配置 471
19.10 sendmail中與垃圾郵件相關的功能 473
19.10.1 中繼轉發 474
19.10.2 訪問數據庫 475
19.10.3 把用戶或站點列入黑名單 477
19.10.4 信頭檢查 479
19.10.5 Miltering:郵件過濾 479
19.10.6 處理垃圾郵件 480
19.10.7 垃圾郵件舉例 481
19.10.8 SpamAssassin 483
19.11 安全與sendmail 484
19.11.1 所有權 484
19.11.2 權限 485
19.11.3 發到文件和程序的可靠郵件 485
19.11.4 隱私選項 486
19.11.5 運行chroot後的sendmail 487
19.11.6 拒絕服務攻擊 487
19.11.7 僞造 488
19.11.8 消息的隱私 489
19.11.9 SASL:簡單的身份驗證和安全層 489
19.12 sendmail的性能 490
19.12.1 投遞方式 490
19.12.2 隊列分組和信封分割 490
19.12.3 隊列運行器 491
19.12.4 負載平衡控製 492
19.12.5 隊列中無法投遞的消息 492
19.12.6 內核調優 493
19.13 sendmail的統計信息、測試和調試 494
19.13.1 測試和調試 494
19.13.2 羅嗦的投遞 495
19.13.3 用SMTP通信 496
19.13.4 日誌機製 497
19.14 Exim郵件係統 498
19.14.1 曆史 498
19.14.2 Debian上的Exim 498
19.14.3 配置Exim 499
19.14.4 Exim和sendmail的相似之處 499
19.15 推薦讀物 500
19.16 習題 501
第20章 網絡管理和調試 503
20.1 網絡故障的檢測 504
20.2 ping:檢查主機是否正常 505
20.3 traceroute:跟蹤IP包 506
20.4 netstat:獲得大量零的網絡統計信息 508
20.4.1 監視網絡連接的狀態 508
20.4.2 檢查接口的配置信息 509
20.4.3 檢查路由錶 510
20.4.4 查看各種網絡協議的運行統計信息 510
20.5 包探測器 511
20.5.1 tcpdump:探測器之王 512
20.5.2 Ethereal:可視化的探測器 512
20.6 網絡管理協議 513
20.7 SNMP:簡單網絡管理協議 513
20.7.1 SNMP的組織結構 514
20.7.2 SNMP協議操作 515
20.7.3 RMON:遠程監視MIB 515
20.8 NET-SNMP代理程序 515
20.9 網絡管理應用程序 516
20.9.1 NET-SNMP工具 516
20.9.2 MRTG:多路由器流量記錄儀 517
20.9.3 NOCOL:在綫網絡運行中心 518
20.9.4 商業管理平颱 519
20.10 推薦讀物 519
20.11 習題 520
第21章 安全 521
21.1 Linux安全嗎 522
21.2 剋裏福斯版的Linux安全 522
21.2.1 包過濾 523
21.2.2 不必要的服務 523
21.2.3 軟件補丁 523
21.2.4 備份 523
21.2.5 口令 523
21.2.6 警惕性 523
21.2.7 普遍原則 523
21.3 安全性是如何受損害的 524
21.4 /etc/passwd和/etc/shadow文件裏的安全問題 525
21.4.1 口令的檢查和選擇 525
21.4.2 PAM:是不會濺的炒菜油,還是驗證奇纔 526
21.4.3 隱蔽口令 526
21.4.4 組登錄名和共享登錄名 527
21.4.5 口令時限 527
21.4.6 用戶的shell 527
21.4.7 獲得root權限的辦法 527
21.5 setuid程序 528
21.6 重要文件的權限 528
21.7 形形色色的安全事務 529
21.7.1 遠程事件日誌 529
21.7.2 安全終端 529
21.7.3 /etc/hosts.equiv和~/.rhosts 530
21.7.4 rexecd和tftpd 530
21.7.5 fingerd 530
21.7.6 安全與NIS 530
21.7.7 安全與NFS 531
21.7.8 安全與sendmail 531
21.7.9 安全與備份 531
21.7.10 特洛伊木馬 531
21.8 加強安全的工具 532
21.8.1 nmap:掃描網絡端口 532
21.8.2 ndiff:創建nmap的基準,查找可疑的變化 533
21.8.3 SAINT:檢查連網係統的弱點 534
21.8.4 Nessus:下一代的網絡掃描程序 534
21.8.5 crack:找齣不安全的口令 534
21.8.6 tcpd:保護Internet服務 535
21.8.7 COPS:審計係統的安全性 535
21.8.8 tripwire:監視係統文件的變化 536
21.8.9 取證的工具 537
21.9 加密的安全工具 537
21.9.1 Kerberos:用於網絡安全的統一方法 538
21.9.2 PGP:很好的私密性 538
21.9.3 SSH:安全的shell 539
21.9.4 OPIE:一次性口令 540
21.9.5 硬件標牌 540
21.10 防火牆 541
21.10.1 包過濾防火牆 541
21.10.2 如何過濾服務 541
21.10.3 服務代理防火牆 542
21.10.4 狀態檢查防火牆 542
21.10.5 防火牆保險嗎 542
21.11 Linux的防火牆功能: IP Tables 543
21.12 VPN 546
21.12.1 IPSEC隧道 546
21.12.2 VPN夠用嗎 547
21.13 安全信息的來源 547
21.13.1 CERT:卡內基梅隆大學的注冊服務商標 547
21.13.2 Security Focus.com和BugTraq郵遞列錶 548
21.13.3 Crypto-Gram時事通訊 548
21.13.4 SANS:係統管理、網絡和安全協會 548
21.13.5 特定發行版本的安全資源 548
21.13.6 其他郵遞列錶和網站 549
21.14 堅固的Linux發行版本 549
21.15 如何對付站點攻擊 549
21.16 推薦讀物 551
21.17 習題 552
第22章 Web主機托管和Internet服務器 554
22.1 Web主機托管 554
22.2 Web主機托管的基本知識 555
22.2.1 統一資源定位符 555
22.2.2 HTTP工作原理 556
22.2.3 CGI腳本:即時生成內容 557
22.2.4 負載平衡 557
22.3 HTTP服務程序的安裝 557
22.3.1 選擇服務程序 557
22.3.2 安裝Apache 558
22.3.3 配置Apache 559
22.3.4 運行Apache 559
22.3.5 高性能主機托管 560
22.4 虛擬接口 560
22.4.1 配置虛擬接口 560
22.4.2 告訴Apache有關虛擬接口的信息 561
22.5 緩存和代理服務程序 562
22.6 匿名FTP服務程序的設置 563
22.7 習題 564
第三部分 其他管理技術 567
第23章 軟件安裝和本地化 569
23.1 Linux基本安裝 569
23.2 自動安裝 570
23.2.1 從網絡引導PC 570
23.2.2 PXE:PC的網絡引導標準 570
23.2.3 為Linux設置PXE 571
23.2.4 非PC的網絡引導 571
23.2.5 Kickstart:Red Hat的自動安裝程序 572
23.2.6 YaST:SuSE的安裝工具 574
23.2.7 SystemImager 575
23.3 本地化 577
23.3.1 自動化 578
23.3.2 版本升級 578
23.3.3 離群的用戶和部門 579
23.3.4 測試 579
23.3.5 讓改動可撤消 580
23.3.6 版本控製 580
23.3.7 RCS:版本控製係統 581
23.3.8 文檔 583
23.3.9 本地軟件的位置 583
23.3.10 客戶機安裝多少軟件 584
23.4 用rsync或者rdist保持係統更新 584
23.5 軟件包的管理 586
23.5.1 RPM軟件包 587
23.5.2 Debian的軟件包 588
23.5.3 自動安裝軟件包 588
23.5.4 Red Hat Network 589
23.6 apt-get:自動下載和安裝 589
23.6.1 配置apt-get 590
23.6.2 /etc/apt/sources.list文件的例子 591
23.6.3 使用代理擴展apt-get 591
23.6.4 設置內部APT服務器 592
23.6.5 自動執行apt-get 592
23.7 推薦讀物 593
23.8 習題 593
第24章 打印 595
24.1 打印術語的小小詞匯錶 595
24.2 Linux的打印係統 596
24.3 打印機的類型 597
24.3.1 串口和並口打印機 597
24.3.2 網絡打印機 597
24.3.3 沒有PostScript的打印過程 598
24.4 LPD:打印係統 598
24.4.1 打印過程概述 598
24.4.2 控製打印環境 599
24.4.3 lpd:打印程序 600
24.4.4 lpr:提交打印作業 600
24.4.5 lpq:查看打印隊列 600
24.4.6 lprm:取消打印作業 601
24.4.7 lpc:做管理性調整 601
24.4.8 /etc/printcap文件 603
24.4.9 printcap變量 603
24.4.10 串口設備的printcap變量 606
24.4.11 printcap擴展 607
24.4.12 嚮打印機之外的地方打印 607
24.5 LPRng 607
24.5.1 LPRng命令 608
24.5.2 /etc/lpd.conf:配置lpd 609
24.5.3 /etc/lpd.perms:配置訪問控製 609
24.5.4 建立printcap文件 610
24.5.5 過濾器 610
24.5.6 記賬 610
24.6 添加打印機 610
24.7 調試打印問題 612
24.8 常用的打印軟件 613
24.8.1 ghostscript 613
24.8.2 mpage 613
24.8.3 enscript 613
24.9 打印機的使用原則 614
24.9.1 對打印機記賬 614
24.9.2 隻在必要時使用標題頁 614
24.9.3 提供迴收箱 614
24.9.4 提供預覽程序 614
24.9.5 購買便宜的打印機 614
24.9.6 保護打印機的安全 615
24.10 習題 615
第25章 維護與環境 616
25.1 維護基礎 616
25.2 維護閤同 617
25.2.1 現場維護 617
25.2.2 闆卡更換維護 617
25.2.3 保修 617
25.3 處理電路闆的知識 618
25.3.1 靜電 618
25.3.2 重插闆卡 618
25.4 監視器 618
25.5 內存模塊 619
25.6 預防性維護 619
25.7 環境 620
25.7.1 溫度 620
25.7.2 濕度 620
25.7.3 辦公室降溫 620
25.7.4 機房降溫 620
25.7.5 溫度監視 621
25.8 電源 622
25.9 機架 622
25.10 工具 623
25.11 習題 623
第26章 性能分析 625
26.1 做什麼可以提高性能 626
26.2 影響性能的因素 627
26.3 全麵檢查係統性能 627
26.3.1 CPU使用情況分析 627
26.3.2 Linux的內存管理 629
26.3.3 內存使用情況分析 630
26.3.4 磁盤I/O分析 632
26.4 求助!係統為何越來越慢 633
26.5 推薦讀物 635
26.6 習題 635
第27章 同Windows協作 636
27.1 文件及打印共享 636
27.1.1 NFS:網絡文件係統 637
27.1.2 CIFS:公共Internet文件係統 637
27.1.3 SMBFS:安裝遠程的CIFS共享資源 637
27.1.4 Samba:Linux的CIFS服務器 637
27.1.5 Samba的安裝與配置 638
27.1.6 Samba的調試 640
27.1.7 統一Windows和Linux的登錄驗證 640
27.2 支持SSH的安全終端仿真程序 641
27.3 X Windows仿真程序 641
27.4 PC郵件客戶端程序 642
27.5 PC備份 642
27.6 雙重引導 643
27.7 在Linux下運行Windows應用程序 643
27.8 PC硬件提示 644
27.9 推薦讀物 645
27.10 習題 645
第28章 守護進程 646
28.1 init:基本守護進程 647
28.2 cron和atd:調度命令 647
28.3 inetd和xinetd:管理守護進程 648
28.3.1 配置inetd 648
28.3.2 配置xinetd 650
28.3.3 services文件 651
28.3.4 portmap/rpcbind:把RPC服務映射到TCP和UDP端口 652
28.4 內核的守護進程 652
28.5 文件服務守護進程 653
28.5.1 rpc.nfsd:提供文件服務 653
28.5.2 rpc.mountd:響應安裝請求 653
28.5.3 amd和automount:根據需要安裝文件係統 653
28.5.4 rpc.lockd和rpc.statd:管理NFS鎖 653
28.5.5 rpciod:緩存NFS數據塊 653
28.5.6 rpc.rquotad:遠程磁盤配額服務 654
28.5.7 smbd:嚮Windows客戶端提供文件和打印服務 654
28.5.8 nmbd:NetBIOS名字服務器 654
28.6 管理數據庫守護進程 654
28.6.1 ypbind:定位NIS服務器 654
28.6.2 ypserv:NIS服務器 654
28.6.3 rpc.ypxfrd:傳送NIS數據庫 654
28.6.4 nscd:名字服務高速緩存守護進程 654
28.7 Internet守護進程 655
28.7.1 talkd:網絡聊天服務 655
28.7.2 sendmail:傳輸電子郵件 655
28.7.3 snmpd:提供遠程網絡管理服務 655
28.7.4 rwhod:維護遠程用戶列錶 655
28.7.5 ftpd:文件傳輸服務器 655
28.7.6 popper:基本郵箱服務器 656
28.7.7 imapd:高級郵箱服務器 656
28.7.8 rlogind:遠程登錄服務器 656
28.7.9 in.telnetd:另一種遠程登錄服務器 656
28.7.10 sshd:安全的遠程登錄服務器 656
28.7.11 in.rshd:遠程命令執行服務器 656
28.7.12 in.rexecd:另一種命令執行服務器 656
28.7.13 rsyncd:在多颱主機間保持文件同步 657
28.7.14 routed:維護路由錶 657
28.7.15 gated:維護復雜的路由錶 657
28.7.16 named:DNS服務器 657
28.7.17 syslogd:處理日誌消息 657
28.7.18 in.fingerd:查找用戶i 657
28.7.19 httpd:World Wide Web 服務器 658
28.7.20 lpd:管理打印 658
28.8 同步時鍾守護進程 658
28.8.1 timed:同步時鍾 658
28.8.2 ntpd和xntpd:更好地同步時鍾 658
28.9 引導和配置守護進程 659
28.9.1 dhcpd:動態地址分配i 659
28.9.2 in.tftpd:簡單文件傳送服務器i 659
28.9.3 rpc.bootparamd:高級的無盤支持i 659
28.10 習題 659
第29章 政策與策略 661
29.1 Linux文化 662
29.1.1 主流Linux 663
29.1.2 Linux計劃 664
29.2 政策與規程 664
29.2.1 安全政策 665
29.2.2 用戶政策協定 666
29.2.3 係統管理員政策協定 667
29.2.4 緊急情況下的政策與規程 668
29.2.5 災難處理計劃 668
29.2.6 其他雜項 670
29.3 法律問題 670
29.3.1 責任 670
29.3.2 加密 671
29.3.3 版權 671
29.3.4 隱私 672
29.3.5 政策落實 673
29.3.6 軟件許可證 674
29.3.7 垃圾郵件:不請自來的商業電子郵件 674
29.3.8 係統管理調查報告 675
29.3.9 SAGE薪酬調查 675
29.3.10 SANS薪酬調查 676
29.4 服務範圍 676
29.5 故障報告係統 677
29.6 主管部門 678
29.7 受聘、解聘和培訓 678
29.7.1 姿態調整 679
29.7.2 操作員考驗戰 680
29.7.3 反復鍛煉 680
29.8 衝突與道德規範 681
29.8.1 上司的錯誤之一 681
29.8.2 上司的錯誤之二 681
29.8.3 誰將被解雇 681
29.8.4 工程師與IT部門 682
29.8.5 復仇者Joe 682
29.8.6 婚禮邀請 683
29.8.7 色情GIF圖片 683
29.8.8 搬遷數據 683
29.8.9 比爾該死 684
29.8.10 世貿中心的二手故事 684
29.9 本地建檔 685
29.10 采購 686
29.11 硬件報廢 686
29.12 組織、會議及其他資源 687
29.12.1 LPI:Linux專業協會 688
29.12.2 SAGE:係統管理員行業協會 688
29.12.3 SANS:係統管理、網絡和安全協會 689
29.12.4 郵遞列錶和Web資源 689
29.13 標準 689
29.13.1 LSB:Linux標準庫 690
29.13.2 POSIX 690
29.14 文檔範例 690
29.15 推薦讀物 691
29.16 習題 691
· · · · · · (
收起)