系統管理員易犯錯誤及解決方法彙總


一、安裝FreeBSD後無法重啓

問題描述:

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

我要求FreeBSD分區:

2G For /
4G For swap
10G For /root
256M For /boot
其餘 for /usr

安裝正常,結果安裝重啓後便出現杯具了:

>> FreeBSD/i386 BOOT
Default: 0:da(0,a)/boot/kernel/kernel
boot:

原因:

通過網上查資料,瞭解到手動引導的全過程,發現了問題所在:

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

解決方法:

通過

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

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

*這個引導盤符根據da0s1x 的 x 得來,因此你安裝系統的時候/boot所在分區區號,纔是真正的x字母,如果不知道就從往後試試

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

ok load kernel/kernel

獲得kernel信息後

ok boot

這樣就可以正常引導了。

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

mount root>ufs:/dev/da0s1a

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

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

2048M For /
4096M For swap
其餘的均For /usr

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

問題描述:

公司有系統管理員離職了,有不少Windows 2003服務器,此時負責安全的部門要求接手的系統管理員更改Administrator密碼,粗心的系統管理員急急忙忙更改windows密碼後,卻發現windows的計劃任務全都執行不了,因爲windows的計劃任務都要求輸入正確的Administrator密碼。

解決辦法:

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

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

問題描述:

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

解決方法:

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

問題描述:

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

解決方法:

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

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

firestop.sh內容爲:

service iptables stop

這樣即使你的腳本存在錯誤設置(或丟失的)規則時,也不至於將你鎖在計算機外而無法返回與計算機的連接。這樣你就可以放心大膽的調試你的腳本啦。這都是生產環境下逼出來的,呵呵。
五、移走硬盤造成Emergency模式

問題描述:

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

解決辦法:

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

mount –o remount,rw /

將/分區設置成可讀寫,編輯/etc/fatab,將移除的硬盤用#號屏蔽掉後重啓服務器,故障解除。
六、sudoer文件損壞造成無法進入root模式

問題描述:

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

解決方法:

這時只有請專人到機房去處理問題了……
七、root密碼被更改

問題描述:

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

解決辦法:

此時處理辦法有2種,一種就是大家都知道的單用戶模式修改root,其實另一個辦法也蠻簡單的,系統管理員應該多配置一個具有sudo權限的用戶,遇到此種情況時可以用sudo權限來修改root的密碼,至少免得跑到機房去。畢竟有時候,機房未必在市內或在國內的。
八、依賴的庫文件丟失導致root無法登陸

問題描述:

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

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

解決方法:

①用單用戶模式進入系統;

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

fsck -y 

③將文件系統重新掛載

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系統(我經常忘了自己原來不是root了),相當very nice.

系統管理員容易犯的錯誤和解決方法暫時就總結到這裏,希望對大家有幫助!如果大家有什麼問題,也歡迎在評論中溝通。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章