你終有一天會被 SELinux 阻止你訪問所需的東西,而且要解決這個問題。SELinux 拒絕某個文件、進(jìn)程或資源被訪問的基要原因有數(shù)個:
1 一個被錯誤標(biāo)簽的文件
2 一個進(jìn)程在錯誤的 SELinux 安全性脈絡(luò)下運(yùn)行
3 政策出錯。某個進(jìn)程要訪問一個在編寫政策時意料不到的文件,并產(chǎn)生錯誤信息
4 一個入侵的企圖。
頭三個情況我們可以處理,而第四個正正是預(yù)期的表現(xiàn)。
先安裝setroubleshoot 組件。有的資料說他是默認(rèn)安裝的,但在我的CentOS5.5上沒有。
yum install setroubleshoot
日志檔是排除任何疑難的關(guān)鍵,而 SELinux 亦不例外。SELinux 缺省會通過 Linux 審計系統(tǒng)(auditd)將日志寫在 /var/log/audit/audit.log 內(nèi),而這項務(wù)服缺省為啟用的。假若 auditd 并未運(yùn)行,信息將會被寫進(jìn) /var/log/messages。SELinux 的日志都被標(biāo)簽有 AVC 這個關(guān)鍵字,方便它們從其它信息中過濾出來。
由 CentOS 5 起,你可以用 SELinux 排除疑難工具協(xié)助你分析日志檔,將它們轉(zhuǎn)換為供人閱讀的格式。這個工具包含一個以可讀格式顯示信息及解決方案的圖像界面、一個桌面通報圖示、與及一個長駐進(jìn)程(setroubleshootd),它負(fù)責(zé)查閱新的 SELinux AVC 警告并傳送至通報圖示(不運(yùn)行 X 服務(wù)器的話可設(shè)置以電郵通報)。SELinux 排除疑難工具是由 setroubleshoot 組件所提供,并缺省會被安裝。這個工具可以從「系統(tǒng)」選單或命令行引導(dǎo):