歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux系統管理經驗總結分享

Linux系統管理經驗總結分享

日期:2017/2/28 14:44:48   编辑:Linux教程

版本

什麼樣的Linux版本才適合企業和個人使用? 我想每個人接觸的時候都會有這個問題,包括我也是,因為開源以及可定制性方面,導致Linux世界裡百花齊放, 各種版本進入我們的視線,所以我們選擇自己滿意適合的版本的時候很是糾結,這也導致了在學校的時候,我差不多“玩過”差不多不下十種Linux版本。當然也並不是說玩了那麼多版本就什麼什麼的,至少後來自己覺得浪費了很多寶貴的時間去探索更深層次的東西。

先說個人使用的版本吧,如果你喜歡玩兒什麼網游,不喜歡自己動手,去探究,自己谷歌的話還是繞過吧,至少目前的Linux世界不適合你。我想大部分人接觸Linux的時候都是Ubuntu吧,都被Ubuntu那些特效吸引,裝完系統後總是首先找各種美化的方法,把自己的系統界面展現給別人看,別說你沒做過,因為愛美好的事物是人的天性,誰也不喜歡天天對著一堆字符界面敲來敲去,耍帥對吧,估計會有人噴,只能送你兩字兒:SB。呵呵。當你看見網上別人的桌面是如何如何漂亮的時候,自己也會暗地下決心,也要整出來,於是乎自己在網上找各種方法,不會的一些命令啥的也都看多了差不多記住了。過段時間,或許是Ubuntu把桌面改的別扭後,你想換個版本玩玩,於是乎OpenSUSE,Debian,LinuxMint,ArchLinux,CentOS等等成了你的預選者。

我個人使用的最久的也就是Debian。其實完全沒必要用那麼多版本。我總結的就是,你可以對著Linux系統族譜,仔細看看分支來源,學習下不同分支源的包管理機制,以及包管理工具,其實其他的部分都是差不多的,沒必要在那個上面耗時間,個人還是推薦使用debian和LinuxMint作為DEB包系列的入門系統,不僅界面不用過多折騰就已經很賴看了,也能學習,何樂而不為?要是學習RPM包管理系列的話首選CentOS了,另外就是OpenSUSE雖說也是用rpm作為默認的軟件包,界面也很華麗,包管理工具不錯,也可以學習下,雖說國內用SUSE系列的不多,純屬個人感覺。

在這個“入門”的階段,有的人因為嫌麻煩放棄了,投奔win了,有的還是堅持下來了,並把Linux系統管理作為今後的職業時候,那就來說說企業版本的選擇吧,國內的話,還是個人感覺吧,CentOS應該比較多,所以選擇好版本了,就要開始折騰了,技術從折騰開始。學習的時候也並不是非得把自己機器裝一個CentOS來做,而且一招不慎導致系統垮掉或者格式化了那就後悔了,我因為手賤全格不下四次。。。可以借助虛擬化軟件比如VB,VM之類的,在虛擬機裡面裝。下載一個mini版本的,裝的東西越少越好,以後按需求來進行安裝,不僅降低安全上的風險,也可以減少以後莫名其妙的麻煩。不要盲目追求新的東西,畢竟穩定才是重中之重。什麼樣的階段什麼樣的需求,用什麼樣的技術,什麼樣的架構。

通過遠程工具連進去,進入無圖界面,當然你得先熟悉最基礎的命令。開始折騰用源碼自己編譯定制些東西吧,LAMP環境肯定是先得跑上一遍,不然你都不好意思說你是做系統管理員的了。然後就是各種企業環境的各種網絡服務的搭建,比如DNS,Nginx,LVM等等等等。這個過程需要一定時間,期間就是遇見各種錯誤復制錯誤信息谷歌去,進入循環狀態,當然不要進入死循環了。當實在是各種方法都用盡的時候,去相應的社區去提問吧,那裡的高手都會很樂意回答,前提是你自己做過最大的努力,並且要學會提問的技巧,可以在網上搜一篇文章叫提問的藝術,仔細看看。別一看標題就是跪求高手,坐等之類的,誰也不欠誰的,看了這樣的問題,大部分人也就是看看而已,都不會怎麼鳥你。其實Linux下面出錯了大部分都有回顯提示以及日志可以看,早有人碰到過並分享出來了,所以你得學習下搜索引擎的技巧,不然搜出來的也不一定能解決你遇見的問題。

最後就是解決之後要善於總結,並分享出來,幫助別人的時候其實也在幫助自己。接下來就是深入的了解一些常用命令以及編譯安裝上的參數,安全配置以及優化方面的了,善用命令能得到事半功倍的效果。學習下shell腳本,多實際的操作,這時候也差不多算是入門了吧。。。還是個人感覺。當真正從事linux系統管理方面的工作的時候,要學的東西突然變得多了起來,還是那句話,多動手,動腦,善於總結。

安全

安全是個永恆的話題,也是重中之重,這時候你就得學習下黑客安全攻防方面的原理,想深入的那就是後話了。最初整體架構搭建的時候,先用測試環境測試好,記錄相關問題,因為誰也不能保證上線提供服務的時候完全無誤,不要暴露錯誤信息給客戶。上線之前做整體的程序上的安全測試,比如常見的SQL注入,跨站等等,如果倒在這些地方,那就不劃算了,現在的很多“黑客”隨便拿個工具就可以掃到,如果不是你寫的程序你不能控制,至少你得記錄後反饋給開發人員,不測試好就盡量不要弄上去,除非逼不得已,至少我被逼過。。。

ssh的話做ip限制登錄,安裝fail2ban或者denyhost防護軟件,定期檢查日志,屏蔽異常ip。root賬戶不能直接登錄到系統,建立個最低權限的用戶作為入口,使用完之後保存歷史命令記錄後並清除,將備份文件下載下來按日期保存或者放到服務器的隱藏目錄裡面,這樣即使被入侵了,別人也不能很快獲取相關的信息,而且自己命令操作失誤之後也能還原出錯場景。 應用日志獨立存放,並設置權限,程序文件按最小化權限分配,能跑起來不影響業務即可,特別是上傳目錄,有條件的話上傳單獨拿台服務器,做上傳權限控制。定期壓縮備份網站訪問,對程序日志文件進行分析,找出異常。

減少前端入口,其他機器能不開外網的話,全部去掉,不要遺留在上面,如果使用了Nginx等代理軟件的話,只留一個入口機器,並什麼服務都不放,定期修改密碼,還要做ip用戶的訪問策略。一般入口機器使用windows稍微方便些,個人習慣而定,有條件的也可以買那種kvm遠程控制終端,插到入口機器上,然後禁用掉所有的遠程連接,雖說這樣顯得特別麻煩,但能省不少事兒,放公網上誰也不能保證不中招。

上傳程序的話,先刪除裡面的一些無用以及敏感信息,比如刪除項目裡面的SVN文件,可以使用以下腳本。[點擊之][1].其他的話,自己找去吧。等其他都測試完成之後,慢慢來縮小權限,開啟防火牆,這期間會遇見各種因為權限以及防火牆導致稀奇古怪的問題,逐個去解決。特別要注意ftp文件以及相應目錄的權限訪問控制,程序你改不了的話,你得做相關的安全測試以及記錄,以防不測,fail2ban可以防ftp暴力破解。

總結:權限最小化,按需求安裝相應的軟件,定期更改密碼,分析日志,進行總結,做程序文件和系統關鍵文件的快照,這個可以百度或者谷歌。

備份

這個也是除了安全外,最重要的了,特別注意一些“高危漏洞"的命令,如 rm -rf (我是吃過大虧的),cp -R, sed ,\cp -R 等,操作文件目錄的時候,必須先備份,不然錯了你連後悔的機會都沒有,不要圖一時快捷。更改文件的時候先備份兩份,操作其中的一份備份文件,確認無誤之後再進行相應的操作。

怎樣合理進行備份?最好是每天或者每兩三天做全備份,周期性不要太長。備份文件的命令,以及目錄的說明信息也很有”講究“,備份單文件的話,我一般按照這樣的格式: **原始文件名-當前時間-疊加說明或則次數.ext** 這個可以按照自己的需要,目錄的話,裡面最好是放一個說明文件(readme.txt),就算英文不行,不能輸入中文,你用拼音可以吧,免得以後自己都不知道了,壓縮後文件名和單文件備份命名規則一樣。多文件的話,按照上級目錄層次來,命名同上。最後就是放到公共目錄以外,或者上傳到專用的備份服務器,也可以下載到本地。

深入

當你實際工作了有段時間了,就要深入了解了,至少到現在所了解的真的還只是個皮毛,系統架構,安全測試,優化,都是要工作之外要學習並實踐的。多學習下python,shell,perl中的一門或者多門語言,進行自動化方面的,自己每次都一條條命令輸入也挺煩的,當然前提就是要做好足夠的測試。虛擬化平台如KVM,XenServer自己最好是也接觸了解下,php的話最好也還是多學點兒吧,至少為以後的謀生多了條路子,不要總拿語言的優缺點來說事兒,什麼需要用什麼樣的語言,做出來就是對的,瞎噴的都是別人的,學到的才是自己的。

Copyright © Linux教程網 All Rights Reserved