總有一天,SELinux會(huì)阻止你訪問你需要的東西,你得解決這個(gè)問題。SELinux拒絕訪問文件、進(jìn)程或資源有幾個(gè)基本原因:
1個(gè)文件被錯(cuò)誤標(biāo)記。
兩個(gè)進(jìn)程正在錯(cuò)誤的SELinux安全上下文下運(yùn)行。
3政策錯(cuò)誤。一個(gè)進(jìn)程在編寫策略時(shí)需要訪問一個(gè)意外的文件,將會(huì)生成一條錯(cuò)誤消息。
四次試圖入侵。
我們可以處理前三種情況,第四種是預(yù)期表現(xiàn)。
首先安裝setroubleshoot組件。有消息稱默認(rèn)安裝,但在我的centos5.5上沒有。
yum安裝setroubleshoot
日志是故障排除的關(guān)鍵,SELinux也不例外。SELinux通過Linux審計(jì)系統(tǒng)(auditd)默認(rèn)將日志寫入/var/log/audit/audit.log,默認(rèn)開啟該服務(wù)。如果auditd沒有運(yùn)行,信息將被寫入/var/log/messages。SELinux日志標(biāo)有關(guān)鍵字AVC,這樣就可以從其他信息中過濾出來。
從CentOS 5開始,您可以使用SELinux故障排除工具來幫助您分析日志文件,并將它們轉(zhuǎn)換為人類可讀的格式。這個(gè)工具包括一個(gè)以可讀格式顯示信息和解決方案的圖像界面,一個(gè)桌面通知圖標(biāo),還有一個(gè)setroubleshootd,負(fù)責(zé)檢查新的SELinux AVC警告并發(fā)送給通知圖標(biāo)(如果不運(yùn)行X server,可以設(shè)置為郵件通知)。SELinux故障排除工具由setrobush組件提供,默認(rèn)情況下安裝。該工具可以從系統(tǒng)菜單或命令行啟動(dòng):
西勒特-b
不運(yùn)行X服務(wù)器的人可以生成報(bào)告,供人們通過命令行閱讀:
sealert-a/var/log/audit/audit . log/path/to/my log file . txt