本書以Red Hat Enterprise Linux Server release 5(Tikanga)為藍本,全面介紹了Linux的基本概念、特點、重要安裝步驟、GNOME桌面管理、系統配置、文件系統、用戶管理、系統管理、網絡管理、磁盤管理、Linux常用命令、各種服務器架設、NAT、VPN、VNC和Openssh應用、Shell編程、語言編程、Linux系統的安全設置等內容。
本書最大的特點是結合實際,講解具有針對性,實用性強。無論是簡單的Linux命令和系統管理,還是語言編程和安全管理,都采用通俗易懂的語言并配以簡單明了的圖片進行介紹,力求把復雜的問題簡單化。同時,本書還穿插了筆者多年來在實際應用Linux過程中積累的大量經驗及實例。
本書內容詳盡,結構清晰,語言簡練,實例眾多,既可作為高等院校師生學習Linux的教材及培訓機構的培訓教材,也可作為從事Linux系統網絡管理專業技術人員的參考書。
Red Hat Linux俗稱紅帽子,是目前最流行的Linux發行版。Linux具有開放性,支持多用戶、多進程、多線程,實時性較好,功能強大而穩定。近年來,Linux已成為一個強大而又新穎的類UNIX操作系統,其流行性甚至超過了它的前輩UNIX。
Red Hat Enterprise Linux 5的版本主要分為Sever和Desktop兩個。本書主要介紹Red Hat Enterprise Linux Server release 5 (Tikanga)。
本書分5篇共30章。各部分的具體內容如下。
第一篇 Linux入門及系統管理
第一篇為Linux入門及系統管理,包含第1~12章內容。
第1、2章主要對Linux的發展歷史、特點和發展前景進行了簡單介紹,然后介紹Red Hat Enterprise Linux 5的特點和新特性。以及RHEL5的重要安裝步驟、啟動方式,以及GNOME的管理,幫助文檔的獲取,vim和emacs編輯器,添加、刪除應用程序等諸多內容。
第3章為硬件設備管理,主要介紹了圖形界面設置,網絡、聲卡、顯卡和打印機等硬件的安裝、設置方法等。
第4章主要介紹了文件系統和目錄管理方面的內容,以及文件及目錄訪問權限的設置方法等。
第5、7、8章重點介紹了系統用戶行為的查看方式、系統日志的配置、分析、轉儲和管理;文件系統使用情況監控,磁盤性能監控,系統的內存、處理器、網絡監控,系統進程的管理、系統性能的監控等內容;系統服務如何進行開啟、關閉,以及端口的種類和端口的管理等內容。
第6章是用戶管理。通過這章的學習,讀者可了解系統超級用戶管理、普通用戶的管理、組群管理、用戶管理器等內容。
第9章主要介紹了Linux下終端的各種常用命令,包括終端窗口簡介、文件目錄操作命令、信息顯示命令、備份壓縮的命令、系統管理命令等,以及DOS和Linux常用命令對比。
第10章為Linux系統的存儲與備份。重點介紹了存儲的方式、存儲的發展趨勢,數據管理的方式、RAID技術實現方式,Linux邏輯卷管理、Linux磁盤空間管理及硬盤掛載方式等內容。
第11、12章主要介紹了Linux的基本網絡命令如Ping、ifconfig、netstat,如何通過Linux系統接入Internet的方法,以及Webmin的簡介、安裝設置、使用方法等內容。
第二篇 服務器配置與應用
第二篇為Linux下各種服務器的配置方法,包含第13~20章內容。
這部分內容主要介紹了Linux下各種服務器如DHCP、DNS、NFS、Samba、FTP、WWW、Squid和LDAP等的重要配置過程,并且結合實際例子進行詳細的講解,非常實用。如第18章主要介紹了Apache的一般概念,Apache Server服務器的安裝和啟動,WWW服務器的基本配置,用戶的個人站點配置和管理,虛擬主機的配置和使用,Apache的日志管理等內容。
第三篇 Linux高級應用
第三篇為Linux的高級應用,包含第21和27章內容。
本部分主要介紹了Xinetd、Liunx軟路由器、Linux防火墻、NAT、VPN、VNC、Openssh等重要內容。如介紹了VPN的相關概念、特點、協議以及VPN服務器及客戶端的配置和應用等;VNC的基本概念,Linux下如何配置VNC服務器,不同平臺的客戶端如何訪問VNC服務器。Openssh服務器的配置,使用不同的客戶端軟件通過SSH服務管理Linux服務器等內容。通過這部分的學習,讀者可掌握Linux最高級的應用,把Linux的應用進行擴展,發揮其更大的作用。
第四篇 Linux開發基礎
第四篇為Linux開發基礎,包含第28和29章內容。
Linux系統的Shell作為操作系統的外殼,為用戶提供使用操作系統的接口。這兩章的內容對高級用戶很有用,主要考慮到一些編程讀者的需求,Linux編程也是一個優秀的Linux系統管理員應該掌握的知識。該部分對Linux下的Shell編程和C語言編程的相關內容進行了詳細的闡述。
第五篇 Linux系統及網絡安全
第五篇為系統安全加固,包含第30章內容。
主要詳細介紹了Linux系統的安全配置,內容包括GRUB及LILO的安全配置,重要系統文件的安全設置,系統開啟服務的安全,連接服務器時的注意事項,系統端口安全,系統日志文件安全等。通過這章的學習,讀者可配置一個高可靠性和穩定的Linux操作系統。
本書是多人智慧的集成,除封面署名的作者外,參與資料整理和制作的人員還有李巧峰、車金、張明洋、張睿、楊云輝、韓小寧、景振媛、申雪麗、趙永生、李靜、吳曉俠、李秋歌、羅彩群、李敏、張博、劉彥軍、陳國亮、劉建峰、孫飛、杜偉荔、劉志偉、李凱、趙全立、曹永軍、楊祥波、鐘勇等。在本書的編寫過程中,參考了一些有關文獻,在此向這些文獻的作者深表感謝。由于作者水平有限,本書不足之處在所難免,歡迎廣大讀者批評指正。我們的信箱:huchenhao@263.net,電話:010-62796045。
第一篇 Linux入門及系統管理
第1章 Linux入門及系統簡介1
1.1 Linux起源2
1.2 Linux的特性3
1.2.1 Linux的優勢3
1.2.2 Linux流行的原因6
1.2.3 Linux的可移植性7
1.3 Linux的版本類別7
1.4 Red Hat Linux發展趨勢8
1.5 Red Hat Enterprise Linux 5特點9
1.5.1 Red Hat Enterprise Linux 5版本類別9
1.5.2 Red Hat Enterprise Linux 5特點10
1.6 安裝軟件下載11
1.7 系統安裝過程中幾個
重要步驟12
1.7.1 啟動安裝程序12
1.7.2 分區注意事項13
1.7.3 引導裝載程序設置14
1.7.4 軟件包選擇15
1.8 系 統 刪 除16
1.9 系統啟動、登錄等基本操作17
1.9.1 系統啟動及登錄17
1.9.2 終端模擬、ssh和telnet19
1.9.3 用reboot命令重新啟動算機20
1.9.4 用shutdown命令關機或進入單人維護模式20
1.10 文本模式和圖形化模式的切換21
1.11 系統登錄時的幾個注意事項22
1.11.1 如何處理登錄失敗22
1.11.2 退出22
1.11.3 更改密碼22
第2章 圖形界面操作24
2.1 圖形桌面簡介25
2.1.1 CDE25
2.1.2 KDE25
2.1.3 GNOME26
2.2 桌面和面板26
2.2.1 桌面26
2.2.2 面板27
2.3 添加、刪除應用程序28
2.4 使用RPM命令安裝軟件包29
2.4.1 使用rpm命令安裝xxx.rpm文件29
2.4.2 使用rpm命令安裝xxx.src.rpm文件29
2.4.3 安裝程序xxx.bin30
2.4.4 安裝xxx.tar.gz、xxx.bz2、xxx.z文件30
2.5 獲取幫助文檔31
2.5.1 --help選項31
2.5.2 man命令32
2.5.3 info命令顯示工具信息33
2.6 vim編輯器35
2.6.1 vim簡介35
2.6.2 vi/vim常用的命令36
2.7 Red Hat Enterprise Linux 5下的常用軟件38
2.8 KDE簡介39
………………
第19章 Squid服務器配置與應用285
19.1 Squid概述286
19.2 Squid.conf文件詳解287
19.3 配置Squid Server290
19.3.1 Squid Server配置實例290
19.3.2 建立置換目錄291
19.3.3 開啟Squid Server291
19.4 代理服務器客戶端配置292
19.4.1 在IE瀏覽器中設置292
19.4.2 在mozilla中設置292
19.5 Squid Server的安全訪問 設置293
19.5.1 限制內網某些IP通過代理服務器上網294
19.5.2 限制內網某些MAC地址使用代理服務器295
19.5.3 限制內網用戶訪問某些網站296
19.5.4 限制內網用戶下載某些格式的文件297
19.5.5 限制內網用戶使用代理服務器的時間297
19.5.6 控制內網用戶使用代理服務器的并發連接數298
19.5.7 禁止內網使用QQ聊天298
19.6 Squid透明代理設置298
19.6.1 /etc/squid/squid.conf文件相關配置298
19.6.2 設置iptables299
19.7 提高代理服務器的性能300
19.8 設置代理服務器自動取回數據301
19.8.1 高速取回網站中的數據301
19.8.2 定時從網站中取回數據302
19.9 Squid Server日志管理303
第20章 LDAP服務器配置與應用304
20.1 LDAP簡介305
20.1.1 LDAP目錄結構305
20.1.2 客戶端/服務器模型306
20.1.3 LDAP的使用306
20.1.4 LDAP術語307
20.2 OpenLDAP307
20.2.1 服務器端進程308
20.2.2 OpenLDAP工具308
20.2.3 安裝OpenLDAP308
20.2.4 配置slapd文件309
20.2.5 啟動slapd311
20.3 配置OpenLDAP客戶端311
20.3.1 創建目錄項312
20.3.2 搜索、查詢以及修改目錄313
20.3.3 使用OpenLDAP進行用戶認證314
第三篇 Linux高級應用
第21章 Xinetd網絡設置316
21.1 xinetd簡介317
21.2 配置xinetd服務器317
21.2.1 xinetd主配置文件317
21.2.2 單個xinetd服務文件319
21.2.3 xinetd的啟動和停止320
21.3 允許xinetd連接321
21.3.1 TCP封裝器和xinetd321
21.3.2 xinetd的單個訪問控制322
第22章 Linux路由器配置324
22.1 路由器概述325
22.2 路由選擇原理325
22.3 路由協議326
22.3.1 RIP路由協議326
22.3.2 OSPF路由協議326
22.4 Linux軟路由器配置要求327
22.5 配置Linux系統充當靜態路由器327
22.6 使用Zebra配置Linux動態路由器330
22.6.1 Zebra相關配置文件331
22.6.2 Zebra的基本配置333
22.6.3 配置?基于RIP協議的路由器334
22.6.4 配置基于OSPF協議的路由器339
第23章 Linux防火墻配置342
23.1 Iptables簡介343
23.2 Iptables和Ipchains語法比較343
23.3 Iptables語法規則345
23.3.1 表(table)345
23.3.2 命令(command)345
23.3.3 匹配(match)346
23.3.4 目標(target)347
23.3.5 保存規則348
23.3.6 Iptables使用實例348
23.4 配置Iptables包過濾防火墻352
第24章 NAT配置與應用356
24.1 NAT概述357
24.1.1 NAT初識357
24.1.2 NAT的類型358
24.1.3 NAT的功能358
24.1.4 NAT的使用359
24.1.5 NAT規則及語法360
24.1.6 操作實例360
24.2 Linux下NAT配置363
24.2.1 內網和外網IP地址映射363
24.2.2 局域網通過配置NAT
上網364
第25章 VPN配置與應用366
25.1 VPN簡介367
25.2 VPN的類型367
25.2.1 VPDN(Virtual Private
Dial Network)367
25.2.2 Intranet VPN368
25.2.3 Extranet VPN368
25.3 VPN 的特點368
25.4 VPN的隧道協議類型369
25.4.1 PPTP/ L2TP369
25.4.2 IPSec370
25.4.3 SOCKS v5371
25.5 VPN安裝與啟動371
25.5.1 安裝PPP371
25.5.2 安裝 pptpd的方法372
25.5.3 相關配置文件372
25.5.4 啟動VPN服務命令372
25.6 VPN服務器配置372
25.6.1 啟動Linux內核的路由功能372
25.6.2 配置/etc/pptpd.conf文件373
25.6.3 配置/etc/ppp/chap-secrets文件373
25.7 VPN客戶端配置373
25.7.1 客戶端基本配置373
25.7.2 連接VPN服務器375
第26章 VNC配置與應用376
26.1 VNC?簡介377
26.2 Linux下配置VNC服務器378
26.3 Linux客戶端訪問VNC服務器378
26.4 配置Windows客戶端訪問VNC服務器379
26.5 通過瀏覽器訪問VNC服務器381
第27章 Openssh配置與應用382
27.1 Openssh簡介383
27.2 配置Openssh服務器383
27.3 使用ssh遠程管理Linux服務器386
27.4 使用PuTTY遠程管理Linux系統387
27.4.1 PuTTY簡介387
27.4.2 使用PuTTY387
27.5 使用SecureCRT遠程管理Linux系統388
27.5.1 SecureCRT簡介及安裝388
27.5.2 使用SecureCRT 4.1389
第四篇 Linux開發基礎
第28章 shell編程391
28.1 shell簡介392
28.2 bash基本命令393
28.3 shell變量類型394
28.3.1 預定義變量394
28.3.2 環境變量395
28.3.3 用戶變量396
28.3.4 參數變量396
28.4 shell編程比較語句397
28.4.1 字符串比較397
28.4.2 數值的比較397
28.4.3 邏輯操作397
28.4.4 文件操作398
28.5 控制程序執行流程的語句類型398
28.5.1 if條件語句398
28.5.2 for循環399
28.5.3 while和until循環399
28.5.4 case條件選擇400
28.5.5 無條件控制語句break和continue400
28.6 函數400
28.7 運行shell程序的方法401
28.8 信號或中斷處理402
28.9 bash shell程序的調試403
第29章 Linux下C語言編程404
29.1 GCC編譯器405
29.1.1 GNU C編譯器簡介405
29.1.2 GCC約定規則405
29.1.3 GCC的基本用法406
29.1.4 GCC的基本選項406
29.1.5 GCC編譯程序舉例408
29.1.6 GCC的錯誤類型及對策409
29.2 GNU make410
29.2.1 GNU make簡介410
29.2.2 makefile 基本結構412
29.2.3 makefile 變量412
29.2.4 運行make413
29.3 GDB414
29.3.1 GDB簡介414
29.3.2 基本GDB命令414
29.3.3 啟動GDB415
29.3.4 GDB調試程序過程416
第五篇 系統安全加固
第30章 Linux安全設置419
30.1 GRUB與LILO安全設置420
30.2 賬號安全設置421
30.2.1 設置默認口令和賬號的長度及有效期421
30.2.2 清除空口令的賬號422
30.2.3 處理特別賬號423
30.3 重要系統文件的安全設置424
30.3.1 權限與文件系統424
30.3.2 設置自動注銷賬號的登錄424
30.3.3 禁止外來ping請求,防止被攻擊426
30.3.4 設置文件/etc/host.conf,防止IP欺騙426
30.3.5 禁止任何人su作為root426
30.3.6 禁止使用 Ctrl+Alt+Delete重啟機器427
30.3.7 截短以前使用的命令列表428
30.4 開啟系統服務的安全429
30.4.1 用命令方式檢查和關閉啟的服務429
30.4.2 直接修改腳本文件430
30.4.3 使用“服務配置”工具431
30.5 連接服務器時的安全事項431
30.6 關閉易受攻擊的端口432
30.7 日志文件的安全436
30.7.1 關注Linux下的日志子系統436
30.7.2 重要的日志文件和命令436
30.8 Linux防火墻設置安全439
30.8.1 Linux防火墻配置439
30.8.2 Selinux策略配置440