【目標(biāo)】
我們?cè)诔蔀橐粋€(gè)真正的管理員之前,應(yīng)該了解“管理的真正含義是什么?管理員應(yīng)該做什么?”等問(wèn)題,在這里我們討論系統(tǒng)管理員的工作職責(zé)及管理工作的模式。當(dāng)系統(tǒng)管理員維護(hù)一個(gè)Linux系統(tǒng)的時(shí)候,涉及到很多的工作,如備份、增加用戶、安裝和配置軟件。本章也介紹了管理員可以利用的Linux文檔體系。
【重點(diǎn)內(nèi)容】
系統(tǒng)管理員職責(zé)
超級(jí)用戶
文檔
7.1 系統(tǒng)管理員職責(zé)
系統(tǒng)管理員維護(hù)一個(gè)Linux系統(tǒng)的時(shí)候,涉及到備份、增加用戶、安裝和配置軟件等工作。如果是一個(gè)小型企業(yè),那么系統(tǒng)管理員的職責(zé)一般會(huì)覆蓋差不多全部與系統(tǒng)相關(guān)的工作,包括系統(tǒng)日常維護(hù)、保持服務(wù)正常運(yùn)行、面向用戶的操作、軟件與系統(tǒng)安裝升級(jí),和解決復(fù)雜的技術(shù)問(wèn)題等。系統(tǒng)管理員要確保計(jì)算機(jī)能夠向用戶正常地提供服務(wù)。這里涉及到各種類型的工作:
在系統(tǒng)中增加新用戶、配置用戶的運(yùn)行環(huán)境,如shell、主目錄和各種權(quán)限;
安裝新的軟件。其中包括應(yīng)用軟件、操作系統(tǒng)的升級(jí)、補(bǔ)丁和bug修復(fù)等;
安裝新的硬件設(shè)備;
監(jiān)控文件系統(tǒng)的使用情況,確保系統(tǒng)中有足夠的磁盤空間,確保所有的備份正常;
解決用戶的問(wèn)題,盡量找到問(wèn)題所在,必要時(shí)可以與產(chǎn)品提供商聯(lián)系來(lái)解決問(wèn)題;
確保所有網(wǎng)絡(luò)服務(wù)正常運(yùn)行。如電子郵件和遠(yuǎn)程系統(tǒng)的存取。
7.2 系統(tǒng)管理涉及的各方面
做為一名系統(tǒng)管理員,需要搞清楚的是,我們的管理職責(zé)范圍中包括哪些工作?管理的用戶有哪些?他們的權(quán)限都是什么?
做為一個(gè)系統(tǒng)管理員,我們還要考慮另外一些問(wèn)題:
誰(shuí)來(lái)負(fù)責(zé)硬件支持?
誰(shuí)會(huì)使用系統(tǒng)?
系統(tǒng)要隨時(shí)升級(jí)嗎?
是否可以申請(qǐng)其他硬件設(shè)備嗎?
從哪里可以獲得其他的幫助?
7.2.1 用戶管理
Linux 系統(tǒng)是一個(gè)多用戶系統(tǒng)。通過(guò)授予不同的用戶權(quán)限,可以讓不同的用戶執(zhí)行不同的任務(wù)。如果一個(gè) Linux 系統(tǒng)有很多人使用,管理任務(wù)會(huì)更復(fù)雜,因此需要系統(tǒng)能夠支持用戶的添加與管理,來(lái)完成日常的管理任務(wù)。
做為一名系統(tǒng)管理員,一個(gè)重要的任務(wù)就是合理管理系統(tǒng)上的用戶。在Linux 系統(tǒng)中,這些工作主要包括建立賬號(hào)、設(shè)置口令、分配用戶使用權(quán)限、管理用戶組、管理用戶磁盤配額以及用戶賬號(hào)的使用期限等等。
7.2.2 設(shè)備管理
設(shè)備管理包括兩部分內(nèi)容:軟件與硬件維護(hù)。
硬件設(shè)備要發(fā)揮其作用,與其在操作系統(tǒng)中的配置是分不開(kāi)的。我們?cè)诎惭b了新的硬件之后,如一塊網(wǎng)卡,就要安裝驅(qū)動(dòng)程序,進(jìn)行相關(guān)參數(shù)設(shè)置,這就是軟件設(shè)置的問(wèn)題。同樣的硬件由于軟件設(shè)置有可能在工作效率和狀態(tài)好壞上都有所區(qū)別,正確地對(duì)各種硬件進(jìn)行軟件方面的安裝和配置對(duì)管理員來(lái)說(shuō)是不可忽視的。
系統(tǒng)中的硬件都需要維護(hù)。管理員應(yīng)每隔1到3個(gè)月(取決于系統(tǒng))做一次預(yù)防性的維護(hù)工作,這就象汽車與飛機(jī)的保養(yǎng)一樣,我們需要檢查系統(tǒng)的功能是否正常,檢查并清潔風(fēng)扇、主板、磁帶機(jī)等。一些大型的企業(yè)訂有硬件維護(hù)合同,其中包含出現(xiàn)問(wèn)題時(shí)的快速解決方案,報(bào)價(jià)中會(huì)包括更換某些硬件的費(fèi)用和人工費(fèi)用,在公司可以負(fù)擔(dān)的情況我們可以訂購(gòu),但系統(tǒng)管理員依然需要監(jiān)督、配合這些外來(lái)的保養(yǎng)服務(wù)。
7.2.3 網(wǎng)絡(luò)管理
Linux具備強(qiáng)大、高效而且靈活的網(wǎng)絡(luò)功能,常常成為網(wǎng)絡(luò)的心臟和靈魂,向網(wǎng)絡(luò)中其他計(jì)算機(jī)提供服務(wù)。系統(tǒng)管理員必須保證服務(wù)器與網(wǎng)絡(luò)正常連接并且通訊正常,提供的服務(wù)當(dāng)然也需要正常。網(wǎng)絡(luò)管理通常包括以下幾個(gè)方面:
網(wǎng)絡(luò)設(shè)備配置
以何種方式接入及相關(guān)工作。如網(wǎng)卡、MODEM、ADSL等。
網(wǎng)絡(luò)協(xié)議配置
通常是TCP/IP設(shè)置。如地址、網(wǎng)關(guān)、掩碼及有關(guān)參數(shù)。
基本服務(wù)管理
包括DNS、NFS、DHCP、NIS、Xinetd等。
應(yīng)用服務(wù)管理
包括WWW、FTP、Samba等。
在關(guān)注網(wǎng)絡(luò)服務(wù)正常的前提下,還需要保證系統(tǒng)的性能。維護(hù)Linux系統(tǒng)時(shí)要經(jīng)常對(duì)系統(tǒng)的性能進(jìn)行監(jiān)視和測(cè)試,準(zhǔn)確無(wú)誤的進(jìn)行系統(tǒng)應(yīng)用和硬件的調(diào)優(yōu),最大限度的優(yōu)化系統(tǒng)中計(jì)算機(jī)的性能使之為用戶服務(wù)。
7.2.4 軟件包管理
操作系統(tǒng)發(fā)揮作用需要依靠軟件,Linux也同樣涉及大量軟件安裝的工作。而一般用戶所熟悉的在Windows平臺(tái)上、點(diǎn)擊執(zhí)行程序安裝的方式,在Linux計(jì)算機(jī)中無(wú)法使用。做為系統(tǒng)管理員的基本技能之一,如何在Linux平臺(tái)中進(jìn)行軟件包的安裝與管理是必須掌握的。我們需要知道rpm、tarball、deb的安裝方式,尤其要掌握rpm方式,這是當(dāng)前最流行使用最廣泛的。此外對(duì)使用源代碼編譯的操作也應(yīng)掌握,做為rpm方式的補(bǔ)充。
7.2.5 日志管理
系統(tǒng)日志是對(duì)特定事件的記錄。我們會(huì)遇到一些奇怪的問(wèn)題,如網(wǎng)絡(luò)無(wú)法連通、PPP不能用了、X
Window無(wú)法啟動(dòng)等。這時(shí)候通常需要借助日志文件來(lái)幫我們解決問(wèn)題。為了保證系統(tǒng)正常運(yùn)行,處理每一天可能遇到的各種問(wèn)題,認(rèn)真地讀取和分析日志文件是系統(tǒng)管理員的一項(xiàng)非常重要的任務(wù)。日志對(duì)于系統(tǒng)安全來(lái)說(shuō)尤其重要,由于日志記錄了系統(tǒng)每天發(fā)生的各種各樣的事情,你可以通過(guò)他來(lái)檢查錯(cuò)誤發(fā)生的原因,或者受到攻擊時(shí)攻擊者留下的痕跡。日志可以幫助我們審計(jì)和監(jiān)測(cè),還可以實(shí)時(shí)地監(jiān)測(cè)系統(tǒng)狀態(tài),監(jiān)測(cè)和追蹤侵入者等。
我們需要對(duì)在Linux系統(tǒng)中的三個(gè)主要的日志子系統(tǒng):連接時(shí)間日志、進(jìn)程統(tǒng)計(jì)日志、錯(cuò)誤日志有所了解。了解重要的dmesg和messages日志文件,能夠讀懂其中的信息,并根據(jù)其中的內(nèi)容進(jìn)行處理操作。同時(shí)對(duì)日志相關(guān)的工具也應(yīng)掌握和熟練使用。
7.2.6 系統(tǒng)備份
系統(tǒng)中的數(shù)據(jù)不論對(duì)用戶還是企業(yè)來(lái)說(shuō),是最有意義和價(jià)值的,如果因?yàn)橄到y(tǒng)故障或其它意外,導(dǎo)致數(shù)據(jù)丟失,那么要花很多時(shí)間和精力才能恢復(fù)。
系統(tǒng)的備份與恢復(fù)是Linux系統(tǒng)管理一項(xiàng)不可缺少的工作。備份工作的目的是為了盡可能快速和方便地恢復(fù)單個(gè)文件或整個(gè)文件系統(tǒng)及相關(guān)數(shù)據(jù),備份對(duì)于文件和數(shù)據(jù)的安全恢復(fù)是非常重要的。一名系統(tǒng)管理員平時(shí)養(yǎng)成良好的備份習(xí)慣,將對(duì)于以后的系統(tǒng)遇到意外緊急故障能否安全恢復(fù)運(yùn)行是非常關(guān)鍵的。
7.2.7 安全管理
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展和應(yīng)用的日漸普及,駭客工具不僅變得越來(lái)越先進(jìn),而且也越來(lái)越容易被一般人獲取和濫用,造成各行各業(yè)大量的企業(yè)、機(jī)構(gòu)的電腦系統(tǒng)遭受程度不同的入侵和攻擊,或面臨隨時(shí)被攻擊的危險(xiǎn)。管理員也需要對(duì)系統(tǒng)安全有所認(rèn)識(shí),可以處理常見(jiàn)的安全問(wèn)題。包括文件系統(tǒng)、網(wǎng)絡(luò)設(shè)置、用戶管理等方面的安全問(wèn)題,也需要學(xué)會(huì)常見(jiàn)安全工具的使用。
7.3 文檔
在剛成為一個(gè)系統(tǒng)管理員的時(shí)候,由于經(jīng)驗(yàn)的缺乏,我們往往感到很多問(wèn)題無(wú)法入手。下面的內(nèi)容給出一些Linux管理中經(jīng)常使用的獲得幫助的方式,大家可以根據(jù)自己的情況選用。
7.3.1 Linux相關(guān)書(shū)籍
現(xiàn)在有關(guān)Linux的參考書(shū)越來(lái)越多,這些資料涉及面廣,從Linux快速入門到關(guān)于Kernel、編程、NFS/NIS這些專題的介紹,各方面的書(shū)都有。如果系統(tǒng)管理員想查閱某些特殊功能或解決某些難題,書(shū)籍是很好的參考資料。
對(duì)系統(tǒng)管理來(lái)說(shuō),系統(tǒng)手冊(cè)是不可缺少的工具,用戶要確保有一套。通常這些手冊(cè)分為兩種:
參考書(shū):提供與聯(lián)機(jī)指南一樣的信息
指導(dǎo)書(shū):告訴用戶如何對(duì)系統(tǒng)進(jìn)行管理,經(jīng)常會(huì)有理論性的討論以及實(shí)際的操作。
7.3.2 Internet
對(duì)管理員而言,Internet可以說(shuō)是最有用的工具。通過(guò)聊天室和大型新聞組,用戶可以輕松得到Internet上豐富的Linux資源和成千上萬(wàn)的Linux管理員的技術(shù)經(jīng)驗(yàn)。在這里可以提出任何問(wèn)題,也許幾分鐘之內(nèi)就會(huì)得到答案。另外,Internet提供了很多免費(fèi)的最新軟件的文檔,對(duì)管理員們很有用。在Internet上這些文檔大多來(lái)源于非贏利組織The Linux Documentation
Project(TLDP),這個(gè)組織發(fā)布了很多文檔來(lái)介紹Linux的特點(diǎn)和應(yīng)用,還介紹如何安裝和配置不同的軟件包。
7.3.3 man
man命令可以向用戶提供快速的在線幫助,這也是Unix早期的賣點(diǎn)之一。用戶可以從“man pages”中得到很多幫助信息。實(shí)際上,Unix的很多書(shū)籍就是從這些man pages中取得的內(nèi)容。
Linux是類Unix操作系統(tǒng),所以Linux包括了一套完整的man和man幫助文檔。這些man幫助文檔涉及Linux系統(tǒng)的命令、程序、配置文件和程序庫(kù)的功能等說(shuō)明。一直以來(lái),這些文檔都是某些操作系統(tǒng)書(shū)籍的主要資料來(lái)源,自從有了Internet和圖形用戶界面后,直接使用這些文檔的人減少了,但它仍是很重要的信息來(lái)源。操作系統(tǒng)安裝好之后,這些文檔就可以馬上使用。
man的幫助文件有很多個(gè),通常以章節(jié)分類,存放在/usr/share/man目錄中,每個(gè)章節(jié)節(jié)討論一項(xiàng)專題,分為man1、man2、man3、.....、man9和mann等子目錄。章節(jié)的劃分符合AT&T Unix的文檔結(jié)構(gòu),繼承了其方便使用的特點(diǎn),并且保持向后兼容(Unix經(jīng)常保持向后兼容)。大多數(shù)的用戶命令可以在man1中找到。
我們可以用以下命令來(lái)得到man幫助文檔:
$ man <section> 命令名
其中<section>參數(shù)是可選的,可以從1、2、3....、9、n中選擇。如果系統(tǒng)找到了與之命令名相匹配的命令,man就把幫助文檔組織成troff格式(或類似的其他格式)顯示出來(lái)。如果沒(méi)有給出<section>參數(shù),有些系統(tǒng)會(huì)從所有章節(jié)中找到匹配的文檔顯示出來(lái)。
在一個(gè)系統(tǒng)中可能會(huì)有成千上萬(wàn)的man幫助文檔,為了節(jié)省磁盤空間,數(shù)據(jù)文件都是以壓縮格式(.gz)存儲(chǔ)的,數(shù)據(jù)文件名的格式是“命令名.section.gz”,例如,“zcat.1.gz”就是zcat命令的幫助文件。如果用戶要?jiǎng)?chuàng)建自己的man幫助文檔最好也遵循這種格式。
需要注意的是,man的幫助文檔常常是過(guò)時(shí)的,因?yàn)楦逻@些文檔是一件吃力不討好的工作。如果man幫助文檔沒(méi)有更新,管理員會(huì)發(fā)現(xiàn)系統(tǒng)中有些命令的功能和選項(xiàng)與在線文檔上所描述的不同。所以更新重要的系統(tǒng)命令或數(shù)據(jù)庫(kù)之后,一定要注意更新一下相應(yīng)的man幫助文檔。
有時(shí)候用戶可能沒(méi)有準(zhǔn)確地記往某個(gè)命令的名字,但知道它是做什么用的,這時(shí)可以通過(guò)apropos或whatis命令來(lái)從whatis數(shù)據(jù)庫(kù)中查找:
$ apropos <搜索字符串>
$ whatis <搜索字符串>
whatis數(shù)據(jù)庫(kù)包含了系統(tǒng)中不同的命令和功能,有簡(jiǎn)短的描述使用戶可以識(shí)別它們。這些描述在man幫助文檔中說(shuō)明得更加詳細(xì)。用戶不僅可以對(duì)命令名進(jìn)行搜索,還可以對(duì)針對(duì)描述進(jìn)行模糊搜索。也就是說(shuō),如果用戶知道某個(gè)命令是做什么的,但不知道其名字,仍然能用apropos或whatis命令查找到該命令。
在使用whatis之前,必須首先運(yùn)行以下命令來(lái)初始化whatis數(shù)據(jù)庫(kù):
$ make whatis
在增加新的man幫助文檔之后,也需要運(yùn)行一次這個(gè)命令,才可以在whatis數(shù)據(jù)庫(kù)中查找到該命令。
man文檔的顯示格式
man幫助文檔的格式特殊,我們?cè)诰€查看的時(shí)候,是通過(guò) troff文本格式化程序顯示出來(lái)的,是很容易閱讀的格式,包括加亮區(qū)、縮排等。不過(guò)這種格式不易于存成文本格式來(lái)編輯或打印。為了達(dá)到這個(gè)目的,用戶可以使用col命令來(lái)過(guò)濾掉man文檔中的特殊字符,產(chǎn)生一個(gè)清晰的文本格式的man幫助文檔:
$ man ls |
col –b > ls.txt
使用上面的命令,就可以把ls的幫助文檔轉(zhuǎn)化成為易于打印和保存的文本格式。
man各章節(jié)的簡(jiǎn)介
man的每一章節(jié)都是有相關(guān)性的,一節(jié)的內(nèi)容在其他章節(jié)里也可以得到。這些章節(jié)簡(jiǎn)介是根據(jù)Linux Documentation
Project來(lái)劃分的,分為基本章節(jié)(第1節(jié)和第8節(jié))和擴(kuò)展章節(jié)(第6節(jié)和第7節(jié))。章節(jié)里的內(nèi)容也有可能會(huì)改變。
man1(可執(zhí)行程序或shell命令)
在這里可以找到大多數(shù)普通用戶的可執(zhí)行命令(shell命令)。例如ls、grep、find等。它還包含了普通用戶所使用的shell命令的文檔。
man2(程序員的系統(tǒng)調(diào)用)
本李包含了用戶在編寫(xiě)Linux程序的過(guò)程中所需要的系統(tǒng)調(diào)用的文檔。
man3(程序員的庫(kù)調(diào)用)
本節(jié)包含了Linux共享庫(kù)和靜態(tài)庫(kù)調(diào)用的文檔。
man4(特殊文件)
本節(jié)包含了特殊文件(FIFOs、sockets等)的文檔。從理論上講,所有/dev下的文件都應(yīng)該包括在這里,但在man4中常常不包含這部分的內(nèi)容。
man5(文件格式和習(xí)慣用法)
這是一個(gè)重要的章節(jié),用戶能找到重要的系統(tǒng)文件(如hosts、inetd.conf、smb.conf)的描述,同時(shí)還包含有進(jìn)程間通訊、圖形文件的格式、終端定義文件的信息等等。但是本節(jié)中的很東內(nèi)容用戶在其他地方也可以找到(如xforms庫(kù)的參考文件里)。
man6(游戲)
本節(jié)包含了系統(tǒng)測(cè)試程序方面的man幫助文檔。
man7(其他)
本節(jié)包含了不同的標(biāo)準(zhǔn)和術(shù)語(yǔ)方面的信息,包括協(xié)議、字符集、文件系統(tǒng)的層次結(jié)構(gòu)、文本格式的宏、boot參數(shù)和一些Unix的信號(hào)量。
man8(系統(tǒng)管理命令)
本節(jié)包含超級(jí)用戶常用的命令,如mount、lilo、route等。
man9(核心程序)
本節(jié)包括核心內(nèi)部程序的信息。在多數(shù)Linux系統(tǒng)中,對(duì)這部分的描述或者沒(méi)有,或者是分開(kāi)寫(xiě)的。
mann(Tcl/tk)
傳統(tǒng)的Unix系統(tǒng)中,本節(jié)是專為新命令而保留的(至少到目前為止是這樣),但現(xiàn)在越來(lái)越傾向于在Linux下使用Tcl/tk程序工具。提供了Tcl/tk之后,用戶的編程環(huán)境就會(huì)好得多。如果系統(tǒng)中還沒(méi)有安裝Tcl/tk開(kāi)發(fā)環(huán)境,就不會(huì)有本節(jié)的內(nèi)容。
7.3.5 info
info是man的下一個(gè)版本。不過(guò)目前只有少數(shù)的命令有與man不同的info信息頁(yè)。如果用戶使用info命令沒(méi)有找到相應(yīng)命令的信息,系統(tǒng)就會(huì)調(diào)用相應(yīng)的man命令,所以這時(shí)會(huì)顯示這些命令的man幫助內(nèi)容。對(duì)于某些命令來(lái)說(shuō),info信息會(huì)比man信息更新更有用一些。
7.3.6 應(yīng)用程序文檔(README)
在我們下載了某個(gè)軟件包,想知道如何安裝、配置和使用此軟件的時(shí)候,通常都可以使用軟件包中自帶的一些說(shuō)明文檔。一般這些文檔都命名為README、Readme-first或how-to-install等等顯著的字樣。有些軟件包中還會(huì)把所有的幫助文件放在單獨(dú)的子目錄中,如readme、help,方便用戶使用。
7.3.7 how-to(mini-how-to)和guide
How-to和guide都是LDP(Linux文檔計(jì)劃)中的一部分,對(duì)全世界的Linux使用者的幫助非常大。我們可以在www.找到最新的how-to和guide內(nèi)容。
How-to是關(guān)于linux中某個(gè)特定工作的,一步一步操作的詳細(xì)描述。如Linux Installation How-to就是幫助我們?cè)谟?jì)算機(jī)中安裝Linux系統(tǒng)的。類似的還有,如:
Apache-Compile-HOWTO 解釋如何在Linux上編輯安裝apache服務(wù)器
Bootdisk-HOWTO 如何為自己的計(jì)算機(jī)制做啟動(dòng)盤
Samba-HOWTO 如何安裝和配置samba服務(wù)器
mini-HOWTO
How-to文檔一般比較詳細(xì),從各方面論述相關(guān)主題。對(duì)于一些比較簡(jiǎn)單的主題,為了方便用戶使用,有的How-to使用了比較簡(jiǎn)潔的方式和語(yǔ)言把相關(guān)主題的最主要內(nèi)容寫(xiě)出來(lái),這就是mini-HOWTO。如:
Xterminals-mini-HOWTO 如何使用nfs, xfs,
xdm和xdmcp連接Linux的X客戶端。
LILO-mini-HOWTO lilo的安裝與使用。
7.3.8 Guide
相對(duì)于How-to來(lái)講,Guide對(duì)某個(gè)主題的討論一般篇幅更長(zhǎng),涵蓋的內(nèi)容更廣,可以成為一本書(shū)了。如Network Administration or User Guide,是指導(dǎo)一個(gè)用戶如何去掌握網(wǎng)絡(luò)管理的方方面面的內(nèi)容,而不只是象apache、NFS這樣單個(gè)的服務(wù)。如:
Linux From Scratch Guide 如何只從源代碼定制出完全適合你自己需要的Linux系統(tǒng)。
Advanced Bash-Scripting Guide Shell的高級(jí)使用。
|