《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 解决方案 > 系统管理员易犯错误及解决方法汇总

系统管理员易犯错误及解决方法汇总

2011-01-27
作者:余洪春
來源:51CTO

本文分享的都是系統(tǒng)管理員在工作的時候容易犯的錯誤,經撫琴煮酒整理并提供解決方法,希望可以給大家一些指導,避免在工作中出現(xiàn)此類問題。作者簡介:余洪春,網(wǎng)名撫琴煮酒,英文名Andrew.Yu,武漢某外企高級Linux/Unix系統(tǒng)管理員、項目實施工程師,紅帽RHCE講師,擅長負載均衡高可用和中小型證券類和商務網(wǎng)站架構,目前關注網(wǎng)站架構研究及網(wǎng)絡安全。

一、安裝FreeBSD后無法重啟

問題描述:

裝慣了Linux的人肯定知道一般會有個boot分區(qū),可是在bsd就不那么容易了。在安裝FreeBSD 8.1的時候遇到了問題,查閱了chinaunix上面,正好也有相關問題整理,特摘錄如下:

我要求FreeBSD分區(qū):

2G For /

4G For swap

10G For /root

256M For /boot

其余 for /usr

安裝正常,結果安裝重啟后便出現(xiàn)杯具了:

>> FreeBSD/i386 BOOT

Default: 0:da(0,a)/boot/kernel/kernel

boot:

原因:

通過網(wǎng)上查資料,了解到手動引導的全過程,發(fā)現(xiàn)了問題所在:

由于獨立分區(qū)/boot造成了FreeBSD引導過程中無法正確找到內核引導的位置。

解決方法:

通過

boot: 0:da(0,e)/loader

可以解決引導問題,然后進入loader界面

*這個引導盤符根據(jù)da0s1x 的 x 得來,因此你安裝系統(tǒng)的時候/boot所在分區(qū)區(qū)號,才是真正的x字母,如果不知道就從往后試試

同樣由于默認kernel位置是/boot/kernel所以依然需要手動加載

ok load kernel/kernel

獲得kernel信息后

ok boot

這樣就可以正常引導了。

但是這樣還沒有徹底解決問題,隨后還需要在磁盤掛載的時候輸入

mount root>ufs:/dev/da0s1a

才能進入系統(tǒng),而且每次重啟都手動一次。所以其實問題沒有徹底解決。

所以,為了避免以上的/boot問題,目前我裝機一般規(guī)范化操作,一般只分三個區(qū),避免獨立分區(qū)/boot,也希望玩Linux的朋友們重視下這個問題。

2048M For /

4096M For swap

其余的均For /usr

二、更改Admin密碼導致計劃任務無法執(zhí)行

問題描述:

公司有系統(tǒng)管理員離職了,有不少Windows 2003服務器,此時負責安全的部門要求接手的系統(tǒng)管理員更改Administrator密碼,粗心的系統(tǒng)管理員急急忙忙更改windows密碼后,卻發(fā)現(xiàn)windows的計劃任務全都執(zhí)行不了,因為windows的計劃任務都要求輸入正確的Administrator密碼。

解決辦法:

大家養(yǎng)成好習慣,每次更改完windows密碼一定要檢查一下計劃任務,否則很容易導致公司的重要業(yè)務執(zhí)行不了進而影響中整個網(wǎng)站的運維及業(yè)務,希望此問題能引起大家的注意。

三、root密碼更改后無法遠程登錄

問題描述:

系統(tǒng)總監(jiān)嫌托管的新Linux服務器root密碼過于簡單,吩咐公司的系統(tǒng)管理員將密碼改復雜些,急躁的系統(tǒng)管理員用passwd root密碼改掉后趕車回公司,杯具的發(fā)現(xiàn)密碼設置得過于復雜,密碼給忘了。由于機器是新裝,沒有配置具有sudo權限的用戶,自己遠程都進不了root了。這種問題就只有百分百靠系統(tǒng)管理員負責了。

解決方法:

這個問題只要養(yǎng)成良好的習慣就可以預防,就是大家更改完root密碼后,別急著退出,可以用ctrl+shift+F2或F3-F8嘗試用另一個終端進去下,如果當時就忘了,馬上切換到F1更換。撫琴煮酒經常犯這種錯誤,呵呵,希望此法對大家有效。

四、鎖定了SSH會話

問題描述:

我在配置某機房Linux服務器的iptables時,不小心設置了某一項錯誤參數(shù),結果鎖定了SSH會話,導致我們經理及另一技術員連不上服務器。

解決方法:

下面介紹的這個方法及其有用,強烈推薦給大家:為了預防此類問題出現(xiàn),可以配置一計劃任務crontab,每5分鐘運行一次,即

*/5 * * * * root /bin/sh /root/firestop.sh

firestop.sh內容為:

service iptables stop

這樣即使你的腳本存在錯誤設置(或丟失的)規(guī)則時,也不至于將你鎖在計算機外而無法返回與計算機的連接。這樣你就可以放心大膽的調試你的腳本啦。這都是生產環(huán)境下逼出來的,呵呵。

五、移走硬盤造成Emergency模式

問題描述:

同事在處理Linux服務器時,移走了一塊硬盤,然后就直接啟動紅帽RHEL5,發(fā)現(xiàn)進了Emergency模式,焦急中他連忙跑過來找我;我第一句就是問他:你改動了硬件沒,他說他移走了硬盤后就直接啟動了,不是跟windows 2003一樣嘛,有什么問題?我都無語了……

解決辦法:

耐心跟他講解了 Linux下/etc/fatab的作用及語法,告訴他可以在Emergency模式下輸入root密碼進入此模式,然后用

mount –o remount,rw /

將/分區(qū)設置成可讀寫,編輯/etc/fatab,將移除的硬盤用#號屏蔽掉后重啟服務器,故障解除。

六、sudoer文件損壞造成無法進入root模式

問題描述:

同事遠程處理一臺機房的FreeBSD 8.1機器,想加一個具有sudo用戶的特殊用戶,所以編輯了/etc/sudoer文件,卻不小心多加了一個.,然后直接保存退出了。結果杯具發(fā)生了:由于sudoer文件損壞,所有具有sudo權限的用戶均不能切換到root模式下工作,而FreeBSD8.1與Linux不同,它默認是不允許root遠程連接的。

解決方法:

這時只有請專人到機房去處理問題了……

七、root密碼被更改

問題描述:

一個開發(fā)小組都是用內部機房的Linux/FreeBSD機器,大家都知道root的密碼;不知哪個兄弟是搞著好玩還是怎么的,偷偷的改了root密碼卻不通知大家,結果大家都用不了root密碼,杯具了。

解決辦法:

此時處理辦法有2種,一種就是大家都知道的單用戶模式修改root,其實另一個辦法也蠻簡單的,系統(tǒng)管理員應該多配置一個具有sudo權限的用戶,遇到此種情況時可以用sudo權限來修改root的密碼,至少免得跑到機房去。畢竟有時候,機房未必在市內或在國內的。

八、依賴的庫文件丟失導致root無法登陸

問題描述:

我們的jail母機192.168.21.36,因為root的shell設置成的bash,而其依賴的庫文件libintl.so.8發(fā)生丟失,導致了root不能登陸。具體報障如下:

/libexec/ld-elf.so.1: Shared object "libintl.so.8" not found, required by "bash"

Connection to 192.168.21.36 closed.

解決方法:

①用單用戶模式進入系統(tǒng);

②掃描磁盤(此步非做不可,而且是安全的)

fsck -y

③將文件系統(tǒng)重新掛載

mount -a

④將root的默認shell切換到sh

chsh -s sh

重啟后一切正常。

九、忘記以su模式進入編輯器

問題描述:

普通用戶用vi編輯nginx.conf 等配置文件,保存的時候會提示:沒有Root Permission

解決辦法:

其實只要保存時加上:

:w !sudo tee %

就可以了。

“:w !sudo tee %”這條命令的含義是把當前編輯的文件的內容當做標準輸入輸入到命令sudo tee 文件名里去。也就是sudo保存為當前文件名,相當管用的命令,尤其適用于FreeBSD和Debian系統(tǒng)(我經常忘了自己原來不是root了),相當very nice.

系統(tǒng)管理員容易犯的錯誤和解決方法暫時就總結到這里,希望對大家有幫助!如果大家有什么問題,也歡迎在評論中溝通。

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關內容