萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 排查SELinux故障

排查SELinux故障

   你終有一天會被 SELinux 阻止你訪問所需的東西,而且要解決這個問題。SELinux 拒絕某個文件、進程或資源被訪問的基要原因有數個:

  1 一個被錯誤標簽的文件

  2 一個進程在錯誤的 SELinux 安全性脈絡下運行

  3 政策出錯。某個進程要訪問一個在編寫政策時意料不到的文件,並產生錯誤信息

  4 一個入侵的企圖。

  頭三個情況我們可以處理,而第四個正正是預期的表現。

  先安裝setroubleshoot 組件。有的資料說他是默認安裝的,但在我的CentOS5.5上沒有。

  yum install setroubleshoot

  日志檔是排除任何疑難的關鍵,而 SELinux 亦不例外。SELinux 缺省會通過 Linux 審計系統(auditd)將日志寫在 /var/log/audit/audit.log 內,而這項務服缺省為啟用的。假若 auditd 並未運行,信息將會被寫進 /var/log/messages。SELinux 的日志都被標簽有 AVC 這個關鍵字,方便它們從其它信息中過濾出來。

  由 CentOS 5 起,你可以用 SELinux 排除疑難工具協助你分析日志檔,將它們轉換為供人閱讀的格式。這個工具包含一個以可讀格式顯示信息及解決方案的圖像界面、一個桌面通報圖示、與及一個長駐進程(setroubleshootd),它負責查閱新的 SELinux AVC 警告並傳送至通報圖示(不運行 X 服務器的話可設置以電郵通報)。SELinux 排除疑難工具是由 setroubleshoot 組件所提供,並缺省會被安裝。這個工具可以從「系統」選單或命令行引導:

  sealert -b

  不運行 X 服務器的人可以通過命令行產生供人閱讀的報告:

  sealert -a /var/log/audit/audit.log > /path/to/mylogfile.txt

copyright © 萬盛學電腦網 all rights reserved