Linux:服務(wù)器架設(shè)篇(第三版)_第1頁
Linux:服務(wù)器架設(shè)篇(第三版)_第2頁
Linux:服務(wù)器架設(shè)篇(第三版)_第3頁
Linux:服務(wù)器架設(shè)篇(第三版)_第4頁
Linux:服務(wù)器架設(shè)篇(第三版)_第5頁
已閱讀5頁,還剩838頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Linux服務(wù)器架設(shè)篇(第三版)目錄TOC\h\h第一部份:架站前的進(jìn)修專區(qū)\h第一章、架設(shè)服務(wù)器前的準(zhǔn)備工作\h第二章、基礎(chǔ)網(wǎng)絡(luò)概念\h第三章、局域網(wǎng)絡(luò)架構(gòu)簡介\h第四章、連上Internet\h第五章、Linux常用網(wǎng)絡(luò)指令\h第六章、Linux網(wǎng)絡(luò)偵錯\h第二部分:主機(jī)的簡易資安防護(hù)措施\h第七章、網(wǎng)絡(luò)安全與主機(jī)基本防護(hù):限制端口口,網(wǎng)絡(luò)升級與SELinux\h第八章、路由觀念與路由器設(shè)定\h第九章、防火墻與NAT服務(wù)器\h第十章、申請合法的主機(jī)名\h第三部分:局域網(wǎng)絡(luò)內(nèi)常見的服務(wù)器架設(shè)\h第十一章、遠(yuǎn)程聯(lián)機(jī)服務(wù)器SSH/XDMCP/VNC/RDP\h第十二章、網(wǎng)絡(luò)參數(shù)控管者:DHCP服務(wù)器\h第十三章、文件服務(wù)器之一:NFS服務(wù)器\h第十四章、賬號控管:NIS服務(wù)器\h第十五章、時間服務(wù)器:NTP服務(wù)器\h第十六章、文件服務(wù)器之二:SAMBA服務(wù)器\h第十七章、區(qū)網(wǎng)控制者:Proxy服務(wù)器\h第十八章、網(wǎng)絡(luò)驅(qū)動器裝置:iSCSI服務(wù)器\h第四部分:常見因特網(wǎng)服務(wù)器架設(shè)\h第十九章、主機(jī)名控制者:DNS服務(wù)器\h第二十章、WWW服務(wù)器\h第二十一章、文件服務(wù)器之三:FTP服務(wù)器\h第二十二章、郵件服務(wù)器:Postfix注:原文檔電子版(非掃描),需要的請下載本文檔后留言謝謝。第一部份:架站前的進(jìn)修專區(qū)架站需要很強(qiáng)的Linux基礎(chǔ)概念以及基礎(chǔ)網(wǎng)絡(luò)知識,否則的話,當(dāng)網(wǎng)絡(luò)斷斷續(xù)續(xù)的時候,您永遠(yuǎn)也不會知道是哪里出問題!而當(dāng)某個服務(wù)器軟件出問題的時候,您永遠(yuǎn)也不曉得是發(fā)生了什么事情!老人家說『對癥下藥才有效』,隨便吃藥是不可能『無病強(qiáng)身』的!因此,對于網(wǎng)絡(luò)服務(wù)器來說最重要的基礎(chǔ)檔案權(quán)限、程序之啟動關(guān)閉與管理、Bashshell之操作與script、使用者賬號的管理等等,您都必須要具備最基礎(chǔ)的認(rèn)知才行,否則,服務(wù)器真的不好碰!\h第一章、架設(shè)服務(wù)器前的準(zhǔn)備工作最近更新日期:2011/07/14很多朋友因為自身或服務(wù)單位的需求,總是有架設(shè)各種網(wǎng)絡(luò)服務(wù)器的時刻,這個時候大多數(shù)的前輩都會推薦他們使用Linux做為服務(wù)器架設(shè)的操作系統(tǒng)。但因為這些朋友很多都沒有受過Linux操作系統(tǒng)操作方面的訓(xùn)練,因此總覺得反正都是操作系統(tǒng),所以Linux應(yīng)該也跟Windows差不多吧!那么就硬著頭皮使用圖形接口去設(shè)定好眾多的服務(wù)器,也有可能參考網(wǎng)絡(luò)上一些文章,即使是透過文字接口去設(shè)定,也能夠很輕松的作好服務(wù)器的架設(shè)。問題是,這樣的一部服務(wù)器是很容易被綁架的,而且,如果網(wǎng)絡(luò)不通,你如何自行將問題克服(troubleshooting)?難道出問題只能無語問蒼天?所以啰,除非你只是暫時需要架設(shè)網(wǎng)絡(luò)服務(wù)器,可以請朋友或其他信息公司幫你忙,如果你本身就是信息方面的服務(wù)提供商,那鳥哥建議你在進(jìn)行服務(wù)器實務(wù)設(shè)定之前,看一看這篇,試試看你到底有沒有具備網(wǎng)絡(luò)服務(wù)器的設(shè)定技能了呢?\h1.1前言:Linux有啥功能\h1.1.1只想用Linux架設(shè)服務(wù)器需要啥能力?\h1.1.2架設(shè)服務(wù)器難不難呢?\h1.2基本架設(shè)服務(wù)器流程\h1.2.1網(wǎng)絡(luò)服務(wù)器成功聯(lián)機(jī)的分析\h1.2.2一個常見的服務(wù)器設(shè)定案例分析1.2.2-\h1了解網(wǎng)絡(luò)基礎(chǔ)1.2.2-\h2服務(wù)器本身的安裝規(guī)劃與架站目的的搭配:\h全新安裝1.2.2-\h3服務(wù)器本身的基本操作系統(tǒng)操作:\h建立賬號,\h修改權(quán)限,\hQuota,\hLVM1.2.2-\h4服務(wù)器內(nèi)部的資源管理與防火墻規(guī)劃1.2.2-\h5服務(wù)器軟件設(shè)定:學(xué)習(xí)設(shè)定技巧與開機(jī)是否自動執(zhí)行1.2.2-\h6細(xì)部權(quán)限與SELinux\h1.2.3系統(tǒng)安全與備份處理\h1.3自我評估是否已經(jīng)具有架設(shè)服務(wù)器的能力\h1.4本章習(xí)題\h1.5針對本文的建議:/viewtopic.php?t=236761.1前言:Linux有啥功能很多剛接觸Linux的朋友常常會問的一句話就是:『我學(xué)Linux就是為了架設(shè)服務(wù)器,既然只是為了架設(shè)服務(wù)器,為什么我還要學(xué)習(xí)Linux的其他功能?例如:例行性工作排程、BashShell,又干嘛去認(rèn)識所有的登錄檔等等,我又用不到!此外,既然有好用的Web接口的Server設(shè)定軟件,可以簡單的將網(wǎng)站架設(shè)起來,為什么我還要去學(xué)習(xí)vim手動的編輯一些配置文件?干嘛還需要去理解服務(wù)器的工作的原理?』上面這些話對于剛剛學(xué)會架設(shè)網(wǎng)站的人來說,真是替他們道出了一個新手的心聲啊!不過,對于任何一個曾經(jīng)有過架設(shè)公開網(wǎng)站的朋友來說,上面這些話,真的是會害死人!為什么呢?底下我們就來分析一下。net.qiang@1.1.1只想用Linux架設(shè)服務(wù)器需要啥能力?如果有人問你:『Linux最強(qiáng)大的功能是什么』?大概大家都會回答『是網(wǎng)絡(luò)功能??!』,接下來,如果對方再問:『所以學(xué)Linux就是為了架設(shè)服務(wù)器啰?』呵呵!這個問題可就見仁見智啰!說穿了,Linux其實就是一套非常穩(wěn)定的操作系統(tǒng),任何工作只要能在Linux這個操作系統(tǒng)上面跑,那他就是Linux可以達(dá)成的功能之一啰!所以Linux的作用實在不止于網(wǎng)絡(luò)服務(wù)器的架設(shè)吶。舉例來說,在Linux上面開發(fā)跨平臺的數(shù)值模式(model)諸如大型的大氣仿真模式,由于Linux的穩(wěn)定與完善的資源分配功能,使得在Linux上面開發(fā)出來的程序運作的又快又穩(wěn)定。此外,諸如KDE,GNOME等漂亮的圖形接口,搭配諸如OpenOffice等辦公室軟件,Linux立刻搖身一變而成為優(yōu)秀的辦公室桌面計算機(jī)了(Desktop)。此外,Google制作出專門給手機(jī)系統(tǒng)用的Android也是以Linux為底開發(fā)的。所以說,千萬不要小看了Linux的多樣功能吶。不過,不管怎么說,Linux的強(qiáng)大網(wǎng)絡(luò)功能確實是造成Linux能夠在服務(wù)器領(lǐng)域內(nèi)占有一席之地的重要項目。既然如此,我們就好好的來探索一下Linux的網(wǎng)絡(luò)世界吧!首先,Linux到底可以達(dá)成哪些網(wǎng)絡(luò)功能呢?這可就多著咯!不論是\hWWW,\hMail,\hFTP,\hDNS,或者是\hDHCP,\hNAT與\hRouter等等,Linux系統(tǒng)都可以達(dá)到,而且,只要一部Linux就能夠達(dá)到上面所有的功能了!當(dāng)然,那是在不考慮網(wǎng)絡(luò)安全與效能的情況下,你可以使用一部Linux主機(jī)來達(dá)成所有的網(wǎng)絡(luò)功能。但是你得要知道,『架站容易維護(hù)難』??!更深一層來說,『維護(hù)還好、除錯更難??!』架設(shè)一個網(wǎng)站有什么難的?即使你完全沒有摸過Linux,只要參考鳥哥的書籍或者是網(wǎng)站,而且一步一步照著做,包準(zhǔn)你一個下午就可以架設(shè)完成五個以上的網(wǎng)絡(luò)服務(wù)了!所以說,架設(shè)服務(wù)器有什么難的?但要曉得的是,這樣的一個網(wǎng)站,多則三天,少則數(shù)小時,立刻就會被入侵了!此外,被入侵之后,或許可以藉由一些工具來幫你將root的密碼救回來,可惜的是,這樣的一個網(wǎng)站還是有被做為中繼站的危險存在的!另外,如果你使用工具(例如Webmin)卻怎么也架設(shè)不起來某個網(wǎng)站時,要怎么解決?如果你不懂該Server的運作原理與Linux系統(tǒng)的除錯訊息,那么難道只能無語問蒼天?不要懷疑這種情況的可能性,參考一下各大論壇上面的留言就可以很清楚的知道這種情況的存在有越來越明顯的趨勢呢!所以說,架設(shè)服務(wù)器之前還是有一些基本的技能需要學(xué)會的!而且這些技能是『一旦學(xué)會之后,真正是終身受用??!』只要花一個學(xué)期(三~六個月)就能學(xué)會一輩子可以使用的技能,這個學(xué)習(xí)的投資報酬率真是太高了!所以,一開始的學(xué)習(xí)不要覺得苦,那真的是值得的喔!^_^net.qiang@Tips:舉例來說,鳥哥在2003~2005年跑去當(dāng)兵了,當(dāng)兵期間很少碰Linux啦!等到退伍后接到的第一個班要帶Linux國際證照時,幾乎所有的指令都在看不起鳥哥@_@~不過,懂得學(xué)習(xí)的方法的鳥哥,透過man啦,透過google啦,透過以前學(xué)習(xí)的一些概念啦,遇到問題幾乎都可以在一分鐘內(nèi)解決,同學(xué)也不會有突然不知所云的困擾!你說,這樣是不是很好呢?Linux不是很好學(xué),根據(jù)鳥哥過去教學(xué)的經(jīng)驗,很多同學(xué)在學(xué)Linux時真是非常的痛苦,不過學(xué)完之后,以前在Windows上面遇到的困難卻也自然而然的迎刃而解!因為Linux訓(xùn)練我們時,是要我們?nèi)ソ鉀Q一個發(fā)現(xiàn)的問題,這過程需要很多基礎(chǔ)知識的培養(yǎng),所以學(xué)完他之后,你會覺得很多事情都變的很簡單而單純。但如果使用Windows的懶人方案,很多問題就不可能了解為啥會發(fā)生與為啥可以這樣處理了!我們會在下一節(jié)分析一下架設(shè)服務(wù)器的流程,也會提供相對應(yīng)的你應(yīng)該要會的Linux技能喔!1.1.2架設(shè)服務(wù)器難不難呢?不管是Windows還是Linux,要架設(shè)好一部堪稱完美的服務(wù)器,『基本功課』還是得做的,這包括了:1.基礎(chǔ)網(wǎng)絡(luò)的基本概念,以方便進(jìn)行聯(lián)網(wǎng)與設(shè)定及除錯;2.熟悉操作系統(tǒng)的簡易操作:包括登錄分析、賬號管理、文書編輯器的使用等等的技巧;3.信息安全方面:包括防火墻與軟件更新方面的相關(guān)知識等等;4.該服務(wù)器協(xié)議所需軟件的基本安裝、設(shè)定、除錯等,才有辦法實作。而且,每一個項目里面所需要學(xué)習(xí)的技巧可多著呢!『什么?要學(xué)的東西那么多??!』是啊!所以,不要以為信息管理人員整天閑閑沒事干的吶,大家可是天天在出賣知識的,同時,還得天天應(yīng)付隨時可能會發(fā)生的各種漏洞與網(wǎng)絡(luò)攻擊手法呢!真不是人干的工作~~這么說的話,架設(shè)服務(wù)器真的是挺難的喔!事實上,架設(shè)服務(wù)器其實蠻簡單的哩!咦!~怎么又說架設(shè)服務(wù)器簡單了?不是說架設(shè)服務(wù)器難嗎?呵呵!其實『架設(shè)服務(wù)器很難』是由于朋友們學(xué)習(xí)的角度有點偏差的原因啦!還記得當(dāng)初進(jìn)入理工學(xué)院的時候,天天在念的東西是基礎(chǔ)物理、基礎(chǔ)化學(xué)、工程數(shù)學(xué)與流體力學(xué)等基礎(chǔ)科目,這些科目花了我們一至兩學(xué)期的時間,而且內(nèi)容還很難吶~都是一大堆的理論背不完。怪了?我們進(jìn)理工學(xué)院是為了求取更高深的知識,那么這些基礎(chǔ)知識學(xué)了有什么用吶?呵呵!更高深的知識都是建構(gòu)在這些基本科目的理論上面的,所以萬一你基礎(chǔ)的科目沒有讀好,那么專業(yè)科目里面提到的基本理論怎么可能聽的懂?這樣說應(yīng)該就不難了解了吧!沒錯!認(rèn)識操作系統(tǒng)與該操作系統(tǒng)的基本操作,還有那個重要的網(wǎng)絡(luò)基礎(chǔ),就是我們在架設(shè)服務(wù)器前的『基礎(chǔ)科目』啦!所以說,在進(jìn)入net.qiang@Linux的服務(wù)器世界之前,真的不能夠略過網(wǎng)絡(luò)基礎(chǔ)的相關(guān)知識,同時,Linux系統(tǒng)的基本技能也必需要能夠理解吶!好了,或許你還是對于Linux系統(tǒng)里面『什么是很重要的知識』不甚了解,果真如此的話,那么我們就舉個簡單的例子來說明一下啰!底下列出一般的架設(shè)服務(wù)器流程,我們由架設(shè)服務(wù)器的流程當(dāng)中,來看一看什么是重要的Linux相關(guān)技能吧!^_^。Tips:在這一章當(dāng)中,鳥哥不再就linux基礎(chǔ)指令進(jìn)行解析,因為在\h『鳥\h哥的Linux私房菜--基礎(chǔ)學(xué)習(xí)篇』里面已經(jīng)詳細(xì)的介紹過了!如果持續(xù)的介紹指令,簡直是浪費篇幅~所以底下僅介紹一個Linux基礎(chǔ)學(xué)習(xí)重要性的分析喔!1.2基本架設(shè)服務(wù)器流程雖然不同的服務(wù)器提供的服務(wù)并不相同,而且每種服務(wù)的原理也不見得都一樣,不過,每種服務(wù)器由規(guī)劃、架設(shè)到后續(xù)的安全維護(hù),其實整個流程是大同小異的。什么?你不相信?。繛榱俗屇阆嘈?,那我們就來一項一項的分析看看吧!1.2.1網(wǎng)絡(luò)服務(wù)器成功聯(lián)機(jī)的分析底下我們就整個服務(wù)器的簡易架設(shè)流程當(dāng)中來分析一下,以了解為什么了解操作系統(tǒng)的基礎(chǔ)對于網(wǎng)站維護(hù)是相當(dāng)重要的呢?首先,到底我們是如何聯(lián)機(jī)到服務(wù)器的?聯(lián)機(jī)到服務(wù)器又取得啥咚咚?我們先以底下這張圖示來作個簡單的說明好了:net.qiang@圖1.2-1、網(wǎng)絡(luò)聯(lián)機(jī)至服務(wù)器所需經(jīng)過的各項環(huán)節(jié)先來理解一下,到底我們聯(lián)機(jī)到服務(wù)器想要得到什么?舉例來說,你聯(lián)機(jī)到Y(jié)outube想要看影片,所以對方就提供影片串流數(shù)據(jù)給你;你連到Y(jié)ahoo想要看新聞,所以對方就提供新聞的文本文件給你;你聯(lián)機(jī)到無名小站想要看美女,對方就傳圖檔給你;你聯(lián)機(jī)Facebook想要去種田,對方就參考你之前留下來的記錄,從數(shù)據(jù)庫里面將你的記錄拿出來傳給你??吹?jīng)]有,你聯(lián)機(jī)到服務(wù)器,重點在取得對方的數(shù)據(jù),而一般數(shù)據(jù)的存在就是使用檔案啰!那你有沒有權(quán)限取得?最終與該文件系統(tǒng)的設(shè)定有關(guān)啦!上圖顯示的是:首先,客戶端到服務(wù)器的網(wǎng)絡(luò)要能夠通,等到客戶端到達(dá)服務(wù)器后,會先由服務(wù)器的防火墻判斷該聯(lián)機(jī)能否放行,等到放行之后才能使用到服務(wù)器軟件的功能。而該功能又得要通過SELinux這個細(xì)部權(quán)限設(shè)定的項目后,才能夠讀取到文件系統(tǒng)。但能不能讀到文件系統(tǒng)呢?這又跟文件系統(tǒng)的權(quán)限(rwx)有關(guān)啦!上述的每個部分都要能夠成功,否則就無法順利讀取數(shù)據(jù)啰。所以,根據(jù)上面的流程我們大概可以將整個聯(lián)機(jī)分為幾個部分,包括:網(wǎng)絡(luò)、服務(wù)器本身、內(nèi)部防火墻軟件設(shè)定、各項服務(wù)配置文件、細(xì)部權(quán)限的SELinux以及最終最重要的檔案權(quán)限。底下就分幾個細(xì)項來談?wù)剢?.網(wǎng)絡(luò):了解網(wǎng)絡(luò)基礎(chǔ)知識與所需服務(wù)之通訊協(xié)議既然要架設(shè)服務(wù)器,首先當(dāng)然得要了解一下因特網(wǎng)。因為不管是哪種操作系統(tǒng),若想要與因特網(wǎng)聯(lián)機(jī),這個網(wǎng)絡(luò)基礎(chǔ)就得了解。舉例來說,『網(wǎng)域』是經(jīng)常會談到的概念,當(dāng)你發(fā)現(xiàn)一個設(shè)定為/時,曉得那是什么鬼東西嗎?如果不知道的話,呵呵!絕對無法設(shè)定好網(wǎng)站的啦!另外,為何你需要服務(wù)器?當(dāng)然是想要達(dá)成某項網(wǎng)絡(luò)服務(wù)。舉例來說,傳輸檔案可以用FTP,那WWW可以傳遞檔案嗎?網(wǎng)芳可以傳遞嗎?各有何用處?哪個比較方便?對于客戶或老板來說,我們所設(shè)定的服務(wù)能否滿足他們的需求等等,這都需要了解,否則你將一頭霧水??!因此這部份你就得要了解:net.qiang@o基本的網(wǎng)絡(luò)基礎(chǔ)知識:包括以太網(wǎng)絡(luò)硬件與協(xié)議、TCP/IP、網(wǎng)絡(luò)聯(lián)機(jī)所需參數(shù)等;o各網(wǎng)絡(luò)服務(wù)所對應(yīng)的通訊協(xié)議原理,以及各通訊協(xié)議所需對應(yīng)的軟件。2.服務(wù)器本身:了解架網(wǎng)絡(luò)服務(wù)器之目的以配合主機(jī)的安裝規(guī)劃想要架設(shè)服務(wù)器嗎?那...架什么服務(wù)器?這個服務(wù)器要不要對Internet開放?這個服務(wù)要不要針對客戶提供相關(guān)賬號?要不要針對不同的客戶賬號進(jìn)行例如磁盤容量、可活動空間與可用系統(tǒng)資源進(jìn)行限制?如果要進(jìn)行各項資源的限制,那服務(wù)器操作系統(tǒng)應(yīng)該要如何安裝與設(shè)定?問題很多吧!所以,先了解你要的服務(wù)器服務(wù)目的之后,后續(xù)的規(guī)劃才能陸續(xù)出爐。不過,如果架站只是為了『練功』而已,呵呵!那就不需要考慮太多了~3.服務(wù)器本身:了解操作系統(tǒng)的基本操作網(wǎng)絡(luò)服務(wù)軟件是需要建置在操作系統(tǒng)上面的,所以基本的操作系統(tǒng)操作就得要了解才行啊!包括軟件如何安裝與移除?如何讓系統(tǒng)進(jìn)行例行的工作管理?如何依據(jù)服務(wù)器服務(wù)之目的規(guī)劃文件系統(tǒng)?如何讓文件系統(tǒng)具有未來擴(kuò)充性\h(LVM之類)?系統(tǒng)如何管理各項服務(wù)之啟動?系統(tǒng)的開機(jī)流程為何?系統(tǒng)出錯時,該如何進(jìn)行快速復(fù)原等等,這都需要了解的呢!4.內(nèi)部防火墻設(shè)定:管理系統(tǒng)的可分享資源一部主機(jī)可以擁有多種服務(wù)器軟件的運作,而很多Linuxdistributions出廠的默認(rèn)值就已經(jīng)開放很多服務(wù)給Internet使用了,不過這些服務(wù)可能并不是你想要開放的呢。我們在了解網(wǎng)絡(luò)基礎(chǔ)與所需服務(wù)的目的之后,接下來就是透過防火墻來規(guī)范可以使用本服務(wù)器服務(wù)的用戶,以讓系統(tǒng)在使用上擁有較佳的控管情況。此外,不管你的防火墻系統(tǒng)設(shè)定的再怎么嚴(yán)格,只要是你要開放的服務(wù),那防火墻對于該服務(wù)就沒有保護(hù)的效果。因此,那個重要的在線更新軟件機(jī)制就一定要定期進(jìn)行!否則你的系統(tǒng)將會非常非常的不安全!5.服務(wù)器軟件設(shè)定:學(xué)習(xí)設(shè)定技巧與開機(jī)是否自動執(zhí)行剛剛第一點就提到我們得要知道每種服務(wù)所能達(dá)成的功能,如此一來才能夠架設(shè)你所需要的服務(wù)的網(wǎng)站。那你所需要的服務(wù)是由哪個軟件達(dá)成的?同一個服務(wù)可否有不同的軟件?每種軟件可以達(dá)成的目的是否相同?依據(jù)所需要的功能如何設(shè)定你的服務(wù)器軟件?架設(shè)過程中如果出現(xiàn)錯誤,你該如何觀察與除錯?可否定期的分析服務(wù)器相關(guān)的登錄信息,以方便了解該服務(wù)器的使用情況與錯誤發(fā)生的原因?能否通知多個用戶進(jìn)行聯(lián)機(jī)測試,以取得較佳的服務(wù)器設(shè)定值?所以這里你可能就得要知道:o軟件如何安裝、如何查詢相關(guān)配置文件所在位置;o服務(wù)器軟件如何設(shè)定?net.qiang@o服務(wù)器軟件如何啟動?如何設(shè)定自動開機(jī)啟動?如何觀察啟動的埠口?o服務(wù)器軟件激活失敗如何除錯?如何觀察登錄檔?如何透過登錄檔進(jìn)行除錯?o透過客戶端進(jìn)行聯(lián)機(jī)測試,如果失敗該如何處理?聯(lián)機(jī)失敗的原因是服務(wù)器還是防火墻?o服務(wù)器的設(shè)定修改是否有建立日志?登錄檔是否有定期分析?o服務(wù)器所提供或分享的數(shù)據(jù)有無定期備份?如何定期自動備份或異地備份?6.細(xì)部權(quán)限設(shè)定:包括SELinux與檔案權(quán)限等到你的服務(wù)器全部設(shè)定妥當(dāng),最后你所提供的檔案數(shù)據(jù)權(quán)限卻是給了『000』的權(quán)限分?jǐn)?shù),那鳥哥很肯定的說,大家都無法讀到你所提供的數(shù)據(jù)啊...!此外,新的distributions都建議你要啟動\hSELinux,那是什么咚咚?如果你的數(shù)據(jù)放置于非正規(guī)的目錄,那該如何處理SELinux的問題?又如何讓檔案具有保密性或共享性\h(檔案權(quán)限概念與\hACL等)等等,這也都是需要厘清的觀念喔!上述的服務(wù)器架設(shè)流程中,其實除了第5點之外,其他步驟在各服務(wù)器設(shè)定都需要了解??!而且都是一樣的東西說!因此,這些基礎(chǔ)如果學(xué)會了,最終,你只要知道第5點里面那個軟件的基礎(chǔ)設(shè)定,你的服務(wù)器一下子就可以設(shè)定完成啦!這樣說,你是否開始覺得基礎(chǔ)學(xué)習(xí)很重要?。_^1.2.2一個常見的服務(wù)器設(shè)定案例分析上面講完后或許你還是不很清楚到底這些技能如何串起來?鳥哥這里提供一個簡單的案例來分析一下好了,這樣你應(yīng)該就比較容易清楚的知道為何需要學(xué)習(xí)這些咚咚。網(wǎng)絡(luò)環(huán)境:假設(shè)你的環(huán)境里面(不管是家里還是宿舍)共有五部計算機(jī),這五部計算機(jī)需要串接在一起,且都可以對外聯(lián)機(jī);對外網(wǎng)絡(luò):你的環(huán)境只有一個對外的聯(lián)機(jī)方式,這里假設(shè)是臺灣較流行的ADSL或10M的光纖這種透過電話線撥接的類型;額外服務(wù):你想要讓這五部計算機(jī)都可以上網(wǎng),而且其中還有一部可以做為網(wǎng)絡(luò)驅(qū)動器機(jī),提供同學(xué)或家人作為數(shù)據(jù)備份與分享之用;服務(wù)器管理:由于你可能需要進(jìn)行遠(yuǎn)程管理,因此你這部服務(wù)器得要開放聯(lián)機(jī)機(jī)制,以讓遠(yuǎn)程計算機(jī)可以聯(lián)機(jī)到這部主機(jī)來進(jìn)行維護(hù);防火墻管理:因為擔(dān)心這部做為檔案分享服務(wù)器的系統(tǒng)被攻擊,因此你需要針對IP來源進(jìn)行登入權(quán)力的控制;賬號管理:另外,由于同學(xué)的數(shù)據(jù)有隱密與共享之分,因此你還得要提供每個同學(xué)個別的賬號,且每個賬號都有磁盤容量的使用限制;net.qiang@后端分析:最后,由于擔(dān)心系統(tǒng)出問題所以你得要讓系統(tǒng)自動定期分析磁盤使用量、登錄文件參數(shù)信息等等。在上述的環(huán)境中,你要考慮的東西有哪些呢?依據(jù)本小節(jié)一開始談到的六個步驟來分析的話,你可能需要底下這些咚咚喔!1.2.2-1了解網(wǎng)絡(luò)基礎(chǔ)硬件規(guī)劃我們想要將五部計算機(jī)串接在一塊,但是卻又只有一個可以對外的聯(lián)機(jī),此時就得要購買集線器(hub)或者是交換器(switch)來串接所有的計算機(jī)了。但是這兩者有何不同?為何switch比較貴?我們知道網(wǎng)絡(luò)線被稱為RJ-45的網(wǎng)絡(luò)線,但網(wǎng)絡(luò)線材竟然有等級之分,這個等級要怎么分辨?不同等級的線材速度有沒有差異?等到這些硬件基礎(chǔ)了解之后,你才能夠針對你的環(huán)境來進(jìn)行聯(lián)機(jī)的設(shè)計。這部份我們等到下一章再來介紹。聯(lián)機(jī)規(guī)劃由于只有一條對外聯(lián)機(jī)而已,因此通常我們就建議你可以用如下的方式來串接你的網(wǎng)絡(luò):圖1.2-2、硬件的網(wǎng)絡(luò)聯(lián)機(jī)示意圖透過IP分享器,我們的五部計算機(jī)就都能夠上網(wǎng)了。此時你得要注意,能否上網(wǎng)與Internet有關(guān),Internet就是那有名的TCP/IP通訊協(xié)議,而想要了解網(wǎng)絡(luò)就得要知道啥是\hOSI七層協(xié)定。我們也知道能連上Internet與所謂的IP有關(guān),那么我們內(nèi)部這五部計算機(jī)所取得的IP能不能拿來架站?也就是說,IP有沒有不同種類?如果IP分享器突然掛了,那你的這五部計算機(jī)能不能聯(lián)機(jī)玩魔獸?這就考慮你的網(wǎng)絡(luò)參數(shù)設(shè)定問題了!網(wǎng)絡(luò)基礎(chǔ)net.qiang@如果你的同學(xué)或家人跑來跟你說,網(wǎng)絡(luò)不通哩!你直覺會是什么?硬件問題?軟件問題?還是啥莫名其妙的問題?如果你不懂網(wǎng)絡(luò)基礎(chǔ)的IP相關(guān)參數(shù),包括路由設(shè)定以及領(lǐng)域名系統(tǒng)(DNS)的話,肯定不知道怎么進(jìn)行聯(lián)機(jī)測試的。所以啰,此時你就會被罵說:『怎么都不懂還想要管理我們家網(wǎng)絡(luò)』...那時不是很糗嗎?所以要學(xué)好一些嘛!這部份就很復(fù)雜了,包括TCP/IP,NetworkIP,NetmaskIP,BroadcastIP,Gateway,DNSIP等等,都需要理解喔!了解了這些原理之后,你才能夠進(jìn)行除錯(debug)的工作,否則,錯誤一出,你可能就會被罵的臭頭的!最常見的錯誤中,舉例來說,如果你的主機(jī)明明就可以使用ping這個指令去接觸遠(yuǎn)方的主機(jī)(pingIP),但是就是無法使用pinghostname去接觸遠(yuǎn)方的主機(jī),請問,這個原因是什么呢?了解網(wǎng)絡(luò)基礎(chǔ)的朋友一看就知道幾乎是DNS出問題了,不曉得的朋友就是想破頭也得不到答案。既然知道出問題的地方,就能夠針對該問題去處理嘛!網(wǎng)絡(luò)基礎(chǔ)會影響到你的網(wǎng)絡(luò)設(shè)定是否正確,這真的很重要吶,因為,如果你的網(wǎng)絡(luò)不通,那么即使服務(wù)器架設(shè)成功了,別人可以看的到嗎?所以說,要架站,真的得對網(wǎng)絡(luò)基礎(chǔ)的部分下一些功夫才行的。關(guān)于網(wǎng)絡(luò)基礎(chǔ)這部份我們在基礎(chǔ)篇并沒有談過,所\h以我們會在下一章網(wǎng)絡(luò)基礎(chǔ)時再詳加說明喔!1.2.2-2服務(wù)器本身的安裝規(guī)劃與架站目的的搭配\h如同圖1.2-2所示,Server端是在那五部計算機(jī)之中,而且Server必須要提供針對不同賬號給予網(wǎng)絡(luò)驅(qū)動器機(jī),我們這邊會提供網(wǎng)芳(SAMBA)這個服務(wù),因為他可以在Linux/Windows之間通用之故。且由于需要提供賬號給使用者,以及想到未來的磁盤擴(kuò)充情況,因此我們想要將/home獨立出來,且使用\hLVM這個管理模式,并搭配\hQuota機(jī)制來控制每個賬號的磁盤使用量。所以說,你得知道Linux目錄下的\hFHS(FilesystemHierarchyStandard)的規(guī)范,否則分割槽給到錯誤的目錄,會造成無法開機(jī)!那為什么要將/home獨立放入一個分割槽?那是因為quota僅支持filesystem而不支持單一目錄??!好了,如果給你一部全新的主機(jī),那你該如何安裝你的系統(tǒng)呢?實作題\h-全新安裝:請到昆山科大\h(.tw/FTP/CentOS/),義守大學(xué)\h(.tw/pub/Linux/CentOS/)或國家高速網(wǎng)絡(luò)中心\h(/Linux/CentOS/)下載最新的Linux映像檔來刻錄(2011/07可下載最新版為CentOS6.0),并且依據(jù)上述的需求安裝好你的Linux系統(tǒng)(最重要的其實就是那個分割而已,其他的動作可以在安裝完成后再說)。答:由于Linux\h的安裝我們已經(jīng)在基礎(chǔ)篇內(nèi)的\h第四章介紹過了,這里我們不再使用圖形接口來說明,僅使用文字說明來介紹你在每個項目應(yīng)該處理的動作而已。net.qiang@此外,由讀者們的響應(yīng)發(fā)現(xiàn),學(xué)習(xí)者經(jīng)常只有一部主機(jī),因此,這里我們建議你使用\hVirtualbox(/)來仿真出一部實體主機(jī),以安裝你的測試環(huán)境。并請注意,這部主機(jī)將會使用在本書的各個章節(jié)測試中。Virtualbox的安裝與設(shè)定請自行參考其官網(wǎng)上面的Documentation介紹,這里不再贅言。只是需要注意的是,若(1)需要架設(shè)網(wǎng)站來上網(wǎng),建議網(wǎng)絡(luò)使用橋接模式(bridge),且網(wǎng)絡(luò)卡類型使用Intel的桌面計算機(jī)類型即可。(2)由于我們未來會教導(dǎo)NAT服務(wù)器,因此最好有兩張網(wǎng)卡,一張使用bridge一張使用內(nèi)網(wǎng)(intnet)較佳。而(3)磁盤配置建議使用SATA類型,且容量請給予25GB以上。(4)內(nèi)存至少該給予512MB以上,最好有1GB來測試。其他的請參考官網(wǎng)文件,或者使用默認(rèn)配置即可。當(dāng)然啦,如果你有獨立的實體機(jī)器來安裝,那就更好了!不需理會這一小段文字的說明喔。默認(rèn)配置如下:分割表請依如下方式進(jìn)行:o/:2GBo/boot:200MBo/usr:4GBo/var:2GBo/tmp:1GBoswap:1GBo/home:5GB,并且使用LVM模式建置o其他容量請保留,未來再來進(jìn)行額外練習(xí)!軟件挑選時,請選擇『basicserver』項目即可;信息安全部分,防火墻選擇啟動,SELinux選擇強(qiáng)制(Enforce);假設(shè)IP分享器有自動分配IP的功能,所以網(wǎng)絡(luò)參數(shù)先選擇DHCP即可,未來再自己修改。實際流程大致如下(鳥哥以CentOS6.0為例說明)1.由于我們使用光驅(qū)開機(jī)來安裝系統(tǒng),因此得先進(jìn)入BIOS,選擇光驅(qū)開機(jī),并且將CentOS6.x的DVD放入光驅(qū)中;2.在啟動安裝的畫面中,選擇『Installorupgradeanexistingsystem』來安裝新系統(tǒng);3.出現(xiàn)『DiscFound』字樣,此時建議可以選擇『Skip』即可略過;4.在歡迎畫面以鼠標(biāo)點選『Next』;5.語系數(shù)據(jù)可以選擇『Chinese(Traditional)(中文(正體))』;6.鍵盤格式保留『美式英文』即可;7.安裝包含的裝置類型,直接選擇默認(rèn)的『基本儲存裝置』即可;8.因為我們是全新的硬盤,因此會出現(xiàn)一個找不到分割表的錯誤,此時選擇『重新初始化』即可;9.進(jìn)入網(wǎng)絡(luò)主機(jī)名的設(shè)定,先保留『localhost.localdomain』即可。同畫面中還有一個『配置網(wǎng)絡(luò)』的選項,我們先不要動他!等未來談到網(wǎng)絡(luò)設(shè)net.qiang@定再來處理即可;10.進(jìn)入時區(qū)選擇,請選擇『亞洲/臺北』即可;11.出現(xiàn)root密碼制作,這里我們先設(shè)定為『centos』吧!這個密碼太簡單,系統(tǒng)會出現(xiàn)警告,你選擇『照樣使用』即可。你也可以自行設(shè)定其他密碼;12.出現(xiàn)哪一類型安裝的模式,因為我們有自己的分割考慮,所以,請選擇『建立自定義分割格式』來處理喔!13.在出現(xiàn)分割畫面中,先點選『sda』項目,然后點選『建立』的按鈕,在出現(xiàn)的窗口中,再點選『標(biāo)準(zhǔn)分割區(qū)』項目,然后點『建立』。在最后的窗口中填寫掛載點、容量等信息后,最終按下『確定』即可。最終畫面有點像這樣:圖1.2-3、分割的參數(shù)下達(dá)示意圖14.依據(jù)前面的分割規(guī)劃,持續(xù)進(jìn)行上述的動作,將所有的分割都處理完畢,除了/home之外。15.由于/home想要使用LVM的方式來建立文件系統(tǒng),因此點選『建立』后,選擇『LVM實體卷冊』項目,按下建立,在出現(xiàn)的分割窗口中容量填寫5GB,示意圖有點像這樣:net.qiang@圖1.2-4、分割出LVM分割槽的方式接下來回到原本的分割畫面后,按下『建立』并選擇『LVM卷冊群組』項目,在出現(xiàn)的窗口中,卷冊組名填寫『server』,并且在右下方的邏輯卷冊部分按下『新增』,又會額外出現(xiàn)一個窗口,此時就填入/home的相關(guān)參數(shù)啦!注意,邏輯卷冊我們這里設(shè)定為myhome喔!畫面有點像底下這樣:net.qiang@圖1.2-5、建立最終的LVM的LV與/home回到原本的分割畫面,最終的顯示有點像底下這樣,然后請按下『下一步』繼續(xù)。但由于新建分割需要格式化,所以又會出現(xiàn)一個警告窗口!沒問題的,選擇『格式化』以及『將變更寫至磁盤』吧!圖1.2-6、分割的最終結(jié)果net.qiang@16.出現(xiàn)啟動加載程序作業(yè),都使用默認(rèn)值即可,請按『下一步』;17.出現(xiàn)安裝類型,因為我們主機(jī)的角色為服務(wù)器,因此選擇『BasicServer』項目!其他項目保留默認(rèn),然后按下『下一步』就開始進(jìn)行安裝程序啰!18.經(jīng)過一段時間的等待,出現(xiàn)重新啟動后,你就重新啟動吧!喔!要記得將DVD拿出來喔!(怪異的是,鳥哥第一次安裝后,竟然發(fā)現(xiàn)電源管理有問題,得在kernel處增加noapic才能順利開機(jī)呢!)19.裝好并重新啟動后,就會進(jìn)入runlevel3的純文本界面!因為是服務(wù)器嘛!1.2.2-3服務(wù)器本身的基本操作系統(tǒng)操作既然我們這部主機(jī)得要提供不同賬號來使用他們自己的網(wǎng)絡(luò)驅(qū)動器,因此還需要建立賬號啊,使用磁盤配額(quota)等等的。那么你會不會建立賬號呢?你會不會建置共享目錄呢?你能不能處理每個賬號的Quota配額呢?如果/home的容量不足了,你會不會放大/home的容量呢?有沒有辦法將系統(tǒng)的磁盤使用情況定期的發(fā)送郵件給管理員呢?這些都是基本的維護(hù)行為喔!我們底下就以幾個實際例子來練習(xí)看看你的基礎(chǔ)能力吧!例題\h-大量建置賬號:假設(shè)我的五個朋友賬號分別是vbirduser{1,2,3,4,5},且這五個朋友未來想要共享一個目錄,因此應(yīng)該要加入同一個群組,假設(shè)這個群組為vbirdgroup,且這五個賬號的密碼均為password。那該如何建置這五個賬號?答:你可以寫一支腳本程序來進(jìn)行上述的工作喔![root@localhost~]#mkdirbin[root@localhost~]#cd/root/bin[root@localhostbin]#vimuseradd.sh#!/bin/bashgroupaddvbirdgroupforusernameinvbirduser1vbirduser2vbirduser3vbirduser4vbirduser5douseradd-Gvbirdgroup$usernameecho"password"|passwd--stdin$usernamedone[root@localhostbin]#shuseradd.sh[root@localhostbin]#idvbirduser1uid=501(vbirduser1)gid=502(vbirduser1)net.qiang@groups=502(vbirduser1),501(vbirdgroup)context=root:system_r:unconfined_t:SystemLow-SystemHigh最后利用id這個指令來查詢看看,是否群組的支持是對的啊!例題\h-共享目錄的權(quán)限:這五個朋友的共享目錄建置于/home/vbirdgroup這個目錄,這個目錄只能給這五個人使用,且每個人均可于該目錄內(nèi)進(jìn)行任何動作!若有其他人則無法使用(沒有權(quán)限),那該如何建置這個目錄的權(quán)限呢?答:考慮到共享目錄,因此目錄需要有SGID的權(quán)限才行!否則個別群組數(shù)據(jù)會讓這五個人彼此間無法修改對方的數(shù)據(jù)的。因此需要這樣做:[root@localhost~]#mkdir/home/vbirdgroup[root@localhost~]#chgrpvbirdgroup/home/vbirdgroup[root@localhost~]#chmod2770/home/vbirdgroup[root@localhost~]#ll-d/home/vbirdgroupdrwxrws---.2rootvbirdgroup40962011-07-1414:49/home/vbirdgroup/#上面特殊字體的部分就是你需要注意的部分啰!特別注意那個權(quán)限的s功能喔!例題\h-Quota實作:假設(shè)這五個用戶均需要進(jìn)行磁盤配額限制,每個用戶的配額為2GB(hard)以及1.8GB(soft),該如何處理?答:這一題實作比較難,因為必須要包括文件系統(tǒng)的支持、quota數(shù)據(jù)文件建置、quota啟動、建立用戶quota信息等過程。整個過程在基礎(chǔ)篇有講過了,這里很快速的帶領(lǐng)大家進(jìn)行一次吧!#1.啟動filesystem的Quota支持[root@localhost~]#vim/etc/fstabUUID=01acf085-69e5-4474-bbc6-dc366646b5c8/ext4defaults11UUID=eb5986d8-2179-4952-bffd-eba31fb063ed/bootext4defaults12/dev/mapper/server-myhome/homeext4defaults,usrquota,grpquota12UUID=605e815f-2740-4c0e-9ad9-14e069417226/tmpext4defaults12....(底下省略)....#因為是要處理用戶的磁盤,所以找到的是/home這個目錄來處理的??!#另外,CentOS6.x以后,默認(rèn)使用UUID的磁盤代號而非使用文件名。#不過,你還是能使用類似/dev/sda1之類的檔名啦![root@localhost~]#umount/home;mount-a[root@localhost~]#mount|grephome/dev/mapper/server-myhomeon/hometypeext4(rw,usrquota,grpquota)net.qiang@#做完使用mount去檢查一下/home所在的filesystem有沒有上述的字眼!#2.制作Quota數(shù)據(jù)文件,并啟動Quota支持[root@localhost~]#quotacheck-avugquotacheck:Scanning/dev/mapper/server-myhome[/home]done....(底下省略)....#會出現(xiàn)一些錯誤的警告信息,但那是正常的!出現(xiàn)上述的字樣就對了![root@localhost~]#quotaon-avug/dev/mapper/server-myhome[/home]:groupquotasturnedon/dev/mapper/server-myhome[/home]:userquotasturnedon#3.制作Quota數(shù)據(jù)給用戶[root@localhost~]#edquota-uvbirduser1Diskquotasforuservbirduser1(uid500):Filesystemblockssofthardinodessofthard/dev/mapper/server-myhome2018000002000000500#因為Quota的單位是KB,所以這里要補(bǔ)上好多0?。】吹难劬Χ蓟?![root@localhost~]#edquota-pvbirduser1vbirduser2#持續(xù)作幾次,將vbirduser{3,4,5}通通補(bǔ)上去![root@localhost~]#repquota-au***Reportforuserquotasondevice/dev/mapper/server-myhomeBlockgracetime:7days;Inodegracetime:7daysBlocklimitsFilelimitsUserusedsofthardgraceusedsofthardgrace----------------------------------------------------------------------root--2400300vbirduser1--2018000002000000500vbirduser2--2018000002000000500vbirduser3--2018000002000000500vbirduser4--2018000002000000500vbirduser5--2018000002000000500#看到?jīng)]?上述的結(jié)果就是有發(fā)現(xiàn)到設(shè)定的Quota值啰!整個流程就是這樣!例題\h-文件系統(tǒng)的放大(LVM):純粹假設(shè)的,我們的/home不夠用了,你想要將/home放大到7GB可不可行net.qiang@?。看穑阂驗楫?dāng)初就擔(dān)心這個問題,所以/home已經(jīng)是LVM的方式來管理了。此時我們要來瞧瞧VG夠不夠用,如果夠用的話,那就可以繼續(xù)進(jìn)行。如果不夠用呢?我們就得要從PV著手啰!整個流程可以是這樣來觀察的。#1.先看看VG的量夠不夠用:[root@localhost~]#vgdisplay---Volumegroup---VGNameserverSystemIDFormatlvm2....(中間省略)....VGSize4.88GiB<==只有區(qū)區(qū)5G左右PESize4.00MiBTotalPE1249AllocPE/Size1249/4.88GiBFreePE/Size0/0<==完全沒有剩余的容量了!VGUUIDSvAEou-2quf-Z1Tr-Wsdz-2UY8-Cmfm-Ni0Oaf#真慘!已經(jīng)沒有多余的VG容量可以使用了!因此,我們得要增加PV才行。#2.開始制作出所需要的partition吧!作為PV用的![root@localhost~]#fdisk/dev/sda<==詳細(xì)流程我不寫了!自己瞧Command(mforhelp):pDeviceBootStartEndBlocksIdSystem....(中間省略)..../dev/sda818121939102400083Linux<==最后一個磁柱Command(mforhelp):nFirstcylinder(1173-3264,default1173):1940<==上面查到的號碼加1Lastcylinder,+cylindersor+size{K,M,G}(1940-3264,default3264):+2GCommand(mforhelp):tPartitionnumber(1-9):9Hexcode(typeLtolistcodes):8eCommand(mforhelp):pDeviceBootStartEndBlocksIdSystem/dev/sda91940220121045158eLinuxLVM<==得到/dev/sda9net.qiang@Command(mforhelp):w[root@localhost~]#partprobe<==在虛擬機(jī)上面得要reboot才行!#3.將/dev/sda9加入PV,并將該PV加入server這個VG吧[root@localhost~]#pvcreate/dev/sda9[root@localhost~]#vgextendserver/dev/sda9[root@localhost~]#vgdisplay....(前面省略)....VGSize6.88GiB<==這個VG最大就是6.88G啦....(中間省略)....FreePE/Size513/2.00GiB<==有多出2GB的容量可用了!#4.準(zhǔn)備加大/home,開始前,還是先觀察一下才增加LV容量較好![root@localhost~]#lvdisplay---Logicalvolume---LVName/dev/server/myhome<==這是LV的名字!VGNameserver....(中間省略)....LVSize4.88GiB<==只有5GB左右,需要增加2GB啰....(底下省略)....#看起來,是需要增加容量啰!我們使用lvresize來擴(kuò)大容量吧![root@localhost~]#lvresize-L6.88G/dev/server/myhomeRoundingupsizetofullphysicalextent6.88GiBExtendinglogicalvolumemyhometo6.88GiB<==處理完畢啰!Logicalvolumemyhomesuccessfullyresized#看來確實是擴(kuò)大到6.88GB啰!開始處理文件系統(tǒng)吧!#5.擴(kuò)大文件系統(tǒng)[root@localhost~]#resize2fs/dev/server/myhomeresize2fs1.41.12(17-May-2010)Filesystemat/dev/server/myhomeismountedon/home;on-lineresizingrequiredolddesc_blocks=1,new_desc_blocks=1Performinganon-lineresizeof/dev/server/myhometo1804288(4k)blocks.Thefilesystemon/dev/server/myhomeisnow1804288blockslong.[root@localhost~]#df-h文件系統(tǒng)SizeUsedAvailUse%掛載點/dev/mapper/server-myhome6.8G140M6.4G3%/homenet.qiang@....(其他省略)....#可以看到文件系統(tǒng)確實有放大到6.8G喔!這樣了解了嗎?做完上面的實作之后,現(xiàn)在你曉得為什么在基礎(chǔ)篇的時候,我們一直強(qiáng)調(diào)一些有的沒有的了吧?因為那些東西在這里都用的上!如果本章這些題目你都不會,甚至連為什么要作這些東西都不懂的話,那得趕緊回去閱讀基礎(chǔ)篇,不要再念下去了!會非常非常辛苦的呦!1.2.2-4服務(wù)器內(nèi)部的資源管理與防火墻規(guī)劃你可知道本章第一個實作題安裝好了你的Linux之后,系統(tǒng)到底開放了多少服務(wù)呢?這些服務(wù)有沒有對外面的世界開放監(jiān)聽?這些服務(wù)有沒有漏洞或者是能不能進(jìn)行網(wǎng)絡(luò)在線更新?這些服務(wù)如果沒有要用到,能不能關(guān)閉?此外,這些服務(wù)能不能僅開放給部分的來源使用而不是對整個Internet開放?這都是需要了解的呢。底下我們就以幾個小案例來讓你了解一下,到底哪些數(shù)據(jù)是你必須要熟悉的呢?例題\h-不同runlevel的服務(wù)控管:在目前的runlevel之下,取得預(yù)設(shè)啟動的服務(wù)有哪些呢?此外,我的系統(tǒng)目前不想啟動自動網(wǎng)絡(luò)掛載(autofs)機(jī)制,我不想要啟動該服務(wù)的話,該如何處理?答:默認(rèn)的runlevel可以使用runlevel這個指令來處理,那我們預(yù)設(shè)使用3號的runlevel,因此你可以這樣做:[root@localhost~]#LANG=Cchkconfig--list|grep'3:on'上面指令的輸出訊息中,會有autofs服務(wù)是在啟動的狀態(tài),如果想要關(guān)閉他,可以這樣做:[root@localhost~]#chkconfigautofsoff[root@localhost~]#/etc/init.d/autofsstop上面提到的僅只是有啟動的服務(wù),如果我想要了解到啟動監(jiān)聽TCP/UDP封包的服務(wù)(網(wǎng)絡(luò)封包格式下章會談到),那該如何處理?可以參考底下這個練習(xí)題喔!例題-查詢啟動在網(wǎng)絡(luò)監(jiān)聽的服務(wù)我想要檢查目前我這部主機(jī)啟動在網(wǎng)絡(luò)端口口監(jiān)聽的服務(wù)有哪些,并且關(guān)閉不要的程序,該如何進(jìn)行?答:net.qiang@網(wǎng)絡(luò)監(jiān)聽的端口口分析,可以使用如下的方式分析到:[root@localhost~]#netstat-tulnpActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp00:111:*LISTEN1005/rpcbindtcp00:22:*LISTEN1224/sshdtcp00:25:*LISTEN1300/mastertcp00:35363:*LISTEN1023/rpc.statdtcp00:::111:::*LISTEN1005/rpcbindtcp00:::22:::*LISTEN1224/sshdtcp00::1:25:::*LISTEN1300/mastertcp00:::36985:::*LISTEN1023/rpc.statdudp00:5353:*1108/avahi-daemon:udp00:58474:*1108/avahi-daemon:....(底下省略)....現(xiàn)在假設(shè)我想要關(guān)閉avahi-daemon這個服務(wù)以移除該服務(wù)啟動的埠口時,應(yīng)該要如同上題一樣,利用/etc/init.d/xxxstop關(guān)閉,再使用chkconfig去處理開機(jī)不啟動的行為!不過,因為啟動的服務(wù)名稱與實際指令可能不一樣,我們在netstat上面看到的program項目是實際軟件執(zhí)行文件,可能與/etc/init.d/底下的服務(wù)檔名不同,因此可能需要使用grep去擷取數(shù)據(jù),或者透過那好棒的[tab]按鍵去取得相關(guān)的服務(wù)檔名才行。[root@localhost~]#/etc/init.d/avahi-daemonstop[root@localhost~]#chkconfigavahi-daemonoff我們常常會開玩笑說,如果對外開放的軟件沒有更新,那防火墻不過是個屁!所以啦,軟件更新是相當(dāng)重要的。在CentOS內(nèi),我們已經(jīng)有yum來進(jìn)行在線更新了,你當(dāng)然可以自己利用更改配置文件來指定yum要去查詢的映像站(mirrorsite),不過這里鳥哥建議使用預(yù)設(shè)的設(shè)定值即可,因為系統(tǒng)會主動的判斷較近的映像站(雖然常常會誤判),不需要人工微調(diào)啦!net.qiang@例題\h-利用yum進(jìn)行系統(tǒng)更新假設(shè)你的網(wǎng)絡(luò)已經(jīng)通了,目前你想要處理全系統(tǒng)更新,同時需要每天凌晨2:15自動進(jìn)行全系統(tǒng)更新,該如何作?答:全系統(tǒng)更新使用yumupdate即可。但是由于yumupdate需要使用者手動輸入y去確認(rèn)真的要安裝,因此在crontab里頭處理相關(guān)任務(wù)時,就得要使用yum-yupdate了![root@localhost~]#yum-yupdate#第一次作會進(jìn)行非常之久!因為系統(tǒng)真的有些數(shù)據(jù)要更新嘛!還是得等待的![root@localhost~]#vim/etc/crontab152***root/usr/bin/yum-yupdate不過這里還是要額外提醒各位喔,如果你的系統(tǒng)有更新過核心(kernel)這個軟件,務(wù)必要重新啟動?。∫驗楹诵氖窃陂_機(jī)時加載的,一經(jīng)載入就無法在這次的操作中更改版本的。那個crontab檔案的處理,以及crontab-e的指令應(yīng)用,內(nèi)容的寫法字段不太一樣,請自行參考基礎(chǔ)篇的說明去加強(qiáng)學(xué)習(xí)喔!在通過了上述的各項設(shè)定后,我們的Linux系統(tǒng)應(yīng)該是比較穩(wěn)定些了,再接著下來,我們要開始來設(shè)定資源的保護(hù)了!例如ssh這個遠(yuǎn)程可登入的服務(wù)得要限制住可登入的IP來源,以及制訂防火墻規(guī)則流程等。這部份則是本教學(xué)文件后續(xù)要著重介紹的部分,留待后面章節(jié)再來談吧!Tips:程序設(shè)計師所撰寫的程序并非十全十美的,所以,總是可能有些地方?jīng)]有設(shè)計好,因此就造成所謂的『程序漏洞』啰。程序漏洞所造成的問題有大有小,小問題可能是造成主機(jī)的當(dāng)機(jī),大問題則可能造成主機(jī)的機(jī)密數(shù)據(jù)外流,或者主機(jī)的操控權(quán)被cracker取得。在現(xiàn)今網(wǎng)絡(luò)發(fā)達(dá)的年代,程序的漏洞問題是造成主機(jī)被攻擊、入侵的最主要因素之一了。因此,快速、有效的針對程序漏洞進(jìn)行修補(bǔ),是一個很重要的維護(hù)課題。1.2.2-5服務(wù)器軟件設(shè)定:學(xué)習(xí)設(shè)定技巧與開機(jī)是否自動執(zhí)行這部份就是整個服務(wù)器架設(shè)篇的重要內(nèi)容了!前一小節(jié)也曾談過,在服務(wù)器架設(shè)部分你得要熟悉相當(dāng)多的信息,否則未來維護(hù)會顯的很麻煩。我們以本章提到的大前提為例,我們想要提供一個網(wǎng)絡(luò)驅(qū)動器機(jī),那么網(wǎng)絡(luò)驅(qū)動器機(jī)使用的機(jī)制有哪些呢?常見的除了網(wǎng)頁形式的分享磁盤之外,還有常見的網(wǎng)芳以及Linux的NFS方式(后面章節(jié)都會繼續(xù)談到)。net.qiang@由于假設(shè)局域網(wǎng)絡(luò)內(nèi)的操作系統(tǒng)大部分是Windows好了,因此網(wǎng)芳應(yīng)該是個比較合理的磁盤分享選擇。那么網(wǎng)芳到底啟動了多少個埠口?是如何持續(xù)提供網(wǎng)芳數(shù)據(jù)的?提供的賬號有沒有限制?提供的權(quán)限該如何設(shè)定?是否可規(guī)定誰可登入某些特定目錄?針對網(wǎng)芳服務(wù)的埠口該如何設(shè)定防火墻?如果系統(tǒng)出錯該如何查詢錯誤信息?這個網(wǎng)芳在Linux底下要使用什么服務(wù)來達(dá)成?這都是需要學(xué)習(xí)的呢!直接告訴你,網(wǎng)芳的制作在Linux底下是由Samba這套軟件來達(dá)成的。Samba的詳細(xì)設(shè)定我們會在后續(xù)章節(jié)介紹。這里要告訴你的是,架設(shè)一個網(wǎng)芳服務(wù)器,你應(yīng)該要會的基礎(chǔ)知識有哪些?以及告訴你,你可以背下來的架設(shè)流程中,理論上應(yīng)該要經(jīng)過哪些步驟的過程,這樣對你未來處理服務(wù)器設(shè)定時,才會有點幫助??!1.軟件安裝與查詢剛剛我們已經(jīng)知道網(wǎng)芳需要安裝的是Samba這套軟件,那么該如何查詢有沒有安裝呢?如果沒有安裝又該如何安裝呢?那就來處理處理。例題:查出你的系統(tǒng)底下有沒有samba這套軟件,若無,請自行查詢與安裝該軟件答:已安裝的軟件可以使用rpm去察看看,尚未安裝的則使用yum功能。所以可以這樣進(jìn)行看看:[root@localhost~]#rpm-qa|grep-isambasamba-common-3.5.4-68.el6_0.2.x86_64samba-client-3.5.4-68.el6_0.2.x86_64samba-winbind-clients-3.5.4-68.el6_0.2.x86_64#看起來samba主程序尚未被安裝??!此時就要這樣做:[root@localhost~]#yumsearchsamba<==先查一下有沒有相關(guān)的軟件[root@localhost~]#yuminstallsamba<==找到之后,那就安裝吧!#那么如何找出配置文件呢?因為我們總是需要修改配置文件?。∵@樣做吧:[root@localhost~]#rpm-qcsambasamba-common/etc/logrotate.d/samba/etc/pam.d/samba/etc/samba/smbusers/etc/samba/lmhosts/etc/samba/smb.conf/etc/sysconfig/samba2.3.服務(wù)器主設(shè)定與相關(guān)設(shè)定這部份可就麻煩了!因為你得要了解到,你到底需要的服務(wù)是什么,針對該服務(wù)net.qiang@需要設(shè)定的項目有哪些?這些設(shè)定需要用到什么指令或配置文件等等。一般來說,你得要先察看這個服務(wù)的通訊協(xié)議是啥,然后了解該如何設(shè)定,接下來編輯主配置文件,根據(jù)主配置文件的數(shù)據(jù)去執(zhí)行相對應(yīng)的指令來取得正確的環(huán)境設(shè)定。以我們這里的網(wǎng)芳為例,我們需要設(shè)定工作組,然后需要設(shè)定可以使用網(wǎng)芳的身份為非匿名,接下來就能夠開始處理主配置文件。因此你需要有:i.先使用vim去編輯/etc/samba/smb.conf配置文件;ii.利用useradd建立所需要的網(wǎng)芳實體用戶;iii.利用smbpasswd建立可用網(wǎng)芳的實體帳戶;iv.利用testparm測試一下所有數(shù)據(jù)語法是否正確;v.檢查看看在網(wǎng)芳內(nèi)分享的目錄權(quán)限是否正確。這些設(shè)定都搞定之后,才能夠繼續(xù)進(jìn)行啟動與觀察的動作呦!而想要了解更多關(guān)于samba的相關(guān)設(shè)定技巧與應(yīng)用,除了google大神之外,/usr/share/doc內(nèi)的文件,以及man這個好用的家伙都必須要去閱讀一番!4.服務(wù)器的啟動與觀察在設(shè)定妥當(dāng)之后,接下來當(dāng)然就是啟動該服務(wù)器了。一般服務(wù)器的啟動大多是使用standalone的模式,如果是比較少用的服務(wù),如telnet,就比較有可能使用到superdaemon的服務(wù)啟動類型。我們這里依舊使用samba為例,來瞧瞧如何啟動他吧!例題:如何啟動samba這個服務(wù)呢?并且設(shè)定好開機(jī)就啟動他!答:想要了解如何啟動,得要使用rpm去找一下軟件的啟動方式,然后再去處理啟動的行為啰!#先查詢一下啟動的方式為何:[root@localhost~]#rpm-qlsamba|grep'/etc'/etc/logrotate.d/samba/etc/openldap/schema/etc/openldap/schema/samba.schema/etc/pam.d/samba/etc/rc.d/init.d/nmb/etc/rc.d/init.d/smb<==所以說是standalone且檔名為smb,nmb兩個!/etc/samba/smbusers#開始啟動他!且設(shè)定開機(jī)就啟動喔?。篬root@localhost~]#/etc/init.d/smbstart[root@localhost~]#/etc/init.d/nmbstartnet.qiang@[root@localhost~]#chkconfigsmbon[root@localhost~]#chkconfignmbon#接下來,讓我們觀察一下有沒有啟動相關(guān)的埠口吧![root@localhost~]#netstat-tlunp|grep'[sn]mbd'tcp00:::139:::*LISTEN1484/smbdtcp00:::445:::*LISTEN1484/smbdudp00:137:*1492/nmbdudp00:138:*1492/nmbd最終我們可以看到啟動的埠口有137,138,139,445喔!5.6.客戶端的聯(lián)機(jī)測試接下來就是要找一部機(jī)器做為客戶端,然后嘗試使用本機(jī)器提供的網(wǎng)芳功能??!這樣才能夠了解設(shè)定是對還是錯!相關(guān)的客戶端聯(lián)機(jī)與服務(wù)器提供的服務(wù)有關(guān),例如WWW服務(wù)器就要使用browser去測試,網(wǎng)芳當(dāng)然就得要使用網(wǎng)芳客戶端程序啰!這部份也是本服務(wù)器篇要講的基本內(nèi)容啦!但是很多時刻,客戶端聯(lián)機(jī)測試不成功并非是服務(wù)器設(shè)定的問題,很多是客戶端使用方式不對!包括客戶端自己的防火墻沒開啦,客戶端的賬號權(quán)限密碼等等記錯啦等等的,問題很大啦!總體來說:『教育你的Client使用者具有最最基礎(chǔ)的Linux賬號、群組、檔案權(quán)限等概念,才是一個徹底解決問題的方法』,但這也是最難的部分...7.錯誤克服與觀察登錄檔一般來說,如果Linux上面的服務(wù)出現(xiàn)問題時,通常會在屏幕上面直接告訴你錯誤的原因為何,所以你得要注意屏幕訊息。老實說,屏幕訊息通常就已經(jīng)告訴你該如何處理了。如果還不能處理呢?你可以這樣處置看看:o先看看相關(guān)登錄文件有沒有錯誤訊息,舉例來說,samba除了會在/var/log/messages里面列出訊息外,大部分的訊息應(yīng)該是擺放在/var/log/samba/這個目錄下的數(shù)據(jù),因此你就得先去查閱一番。通常在登錄文件內(nèi)的信息,會比在屏幕上的還要仔細(xì),那你就可以自行處理完畢了;o將訊息帶入Google查詢,通??梢越鉀Q登錄檔出現(xiàn)的但是你沒有辦法克服的問題喔!達(dá)標(biāo)率可達(dá)95%以上吧!o還是不成功,那就到各大討論區(qū)去發(fā)問吧!建議到酷學(xué)園\h()net.qiang@最常出現(xiàn)的其實是SELinux的錯誤啦!此時就得要使用SELinux的方法來嘗試處理啰!這也是本服務(wù)器篇后續(xù)會稍微提到的內(nèi)容。經(jīng)過上面的流程,你就可以知道啦,架設(shè)好一部主機(jī)需要知道:(1)各個process與signal的觀念;(2)賬號與群組的觀念與相關(guān)性;(3)檔案與目錄的權(quán)限,這當(dāng)然包含與賬號相關(guān)的特性;(4)軟件管理員的學(xué)習(xí);(5)BASH的語法與shellscripts的語法,還有那個很重要的vim啰?。?6)開機(jī)的流程分析,以及記錄登錄文件的設(shè)定與分析;(7)還得知道類似quota以及連結(jié)檔等等的概念。要知道的真的很多,而且還是不能省略的步驟喔!1.2.2-6細(xì)部權(quán)限與SELinux如果有些特殊的使用情況時,權(quán)限設(shè)定就是個很重要的因素。舉例來說,我們系統(tǒng)上面,現(xiàn)在有vbirduser{1,2,3,4,5}以及student等賬號,而共享目錄為/home/vbirdgroup?,F(xiàn)在,vbirdgroup的群組想要讓student這個用戶可以進(jìn)入該共享目錄查閱,但是不能夠更改他們原本的數(shù)據(jù),你該如何進(jìn)行呢?你或許可以這樣想:讓student加入vbirdgroup群組即可:但如此一來,student具有vbirdgroup的rwx權(quán)限,也就可以寫入與修改啰,因此這個方案行不通。將/home/vbirdgroup的權(quán)限改為2775即可:如此一來student擁有其他人的權(quán)限(rx),但如此一來其他所有任何人均擁有rx權(quán)限,這個方案也行不通。傳統(tǒng)的身份與權(quán)限概念就只有上面兩種解決方案而已,這下子嚴(yán)重了!我們沒有辦法針對student進(jìn)行權(quán)限設(shè)定!此時就得要使用ACL啰~同樣這個例子,我們就來實作一下:例題\h-單一用戶、群組的權(quán)限設(shè)定ACL想要讓student可以進(jìn)入/home/vbirdgroup進(jìn)行查詢,但不可寫入。同時vbirduser5在/home/vbirdgroup內(nèi),不具有任何權(quán)限。答:只能使用ACL啰!由于安裝時預(yù)設(shè)格式化就加上acl的文件系統(tǒng)功能支持,因此你可以直接處理如下的各項指令。如果你是使用后來新增的partition或filesystem,或許得要在/etc/fstab內(nèi)額外增加acl控制參數(shù)才行喔![root@localhost~]#useraddstudent[root@localhost~]#passwdstudent[root@localhost~]#setfacl-mu:student:rx/home/vbirdgroup[root@localhost~]#setfacl-mu:vbirduser5:-/home/vbirdgroupnet.qiang@[root@localhost~]#getfacl/home/vbirdgroup#file:home/vbirdgroup#owner:root#group:vbirdgroup#flags:-s-user::rwxuser:vbirduser5:---user:student:r-x<==就是這兩行,額外的權(quán)限參數(shù)哩!group::rwxmask::rwxother::---[root@localhost~]#ll-d/home/vbirdgroupdrwxrws---+2rootvbirdgroup40962011-07-1414:49/home/vbirdgroup上面說的是正確的權(quán)限控制行為。那萬一系統(tǒng)管理員不是個東西...不是啦!系統(tǒng)管理員并不知道權(quán)限的重要性時,常常會因為某些特殊需求,就將整個目錄設(shè)定為777的情況!舉例來說,如果是一個不怎么想要負(fù)責(zé)的網(wǎng)管人員,為了自己方便、大家方便,就將/home/vbirdgroup設(shè)定為777,這樣『大家歡喜』嘛!此時,如果你沒有加上任何管理機(jī)制,嘿嘿!這個群組成員工作的成果,通通可以被大家所竊取,真是要命了!為了預(yù)防這種心不在焉的管理員,于是就有了SELinux這個玩意兒。SELinux主要在控制細(xì)部的權(quán)限,他可以針對某些程序要讀取的檔案來設(shè)計SELinux類別,當(dāng)程序與檔案的類別形態(tài)可以相符合時,該檔案才能夠開始被讀取。如此一來,當(dāng)你配置文件案權(quán)限為777,但是因為程序與檔案的SELinux例行不符,所以沒關(guān)系的,因為該程序還是讀不到該檔案!\h所以我們在圖1.2-1才會將SELinux的圖示繪制到daemon與filepermission中間?。∈聦嵣蟂ELinux還挺復(fù)雜的,但是我們?nèi)绻麅H是想要應(yīng)用而已,那么SELinux的處理方式通通可以透過登錄檔來處置!所以SELinux出現(xiàn)問題的機(jī)會非常大,但是解決技巧卻很簡單!就是透過登錄檔內(nèi)的說明去作即可。詳細(xì)的作法我們在后續(xù)章節(jié)再持續(xù)說明吧!1.2.3系統(tǒng)安全與備份處理老實說,在鳥哥管理服務(wù)器的經(jīng)驗來說,硬件問題要比操作系統(tǒng)與軟件問題還來的嚴(yán)重,而人的問題又比硬件問題嚴(yán)重!舉例來說,如果你的老板跟你說:『我要的賬號是eric,而且我的密碼也要是eric!這樣比較好記嘛!』你應(yīng)該要怎么處理呢?net.qiang@『果然需要再教育』!教育誰?教育自己啦!是要忍耐還是要說服老板別這樣~好討厭的感覺吧!因此,在系統(tǒng)安全方面,首要的工作是透過日常生活的社交活動中,慢慢透露一些資安方面的困擾,并提供老板一些制訂資安規(guī)則方面的信息,這樣未來比較好鼓吹資安條件的制訂。我們就先由嚴(yán)格的密碼來建議吧:『猜密碼』仍是一個不可忽視的入侵手段!例如SSH如果對Internet開放的話,你又沒有將root的登入權(quán)限關(guān)閉,那么對方將可能以root嘗試登入你的Linux主機(jī),這個時候?qū)Ψ阶钪匾牟襟E就是猜出你root的密碼了!如果你root的密碼設(shè)定成『1234567』哈哈!想不被入侵都很難~所以當(dāng)然需要嚴(yán)格的規(guī)范用戶密碼的設(shè)定了!那么如何規(guī)范嚴(yán)格的密碼規(guī)則呢?可以藉由(1)修改/etc/logi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論