6.4. 疑難排解

以下各小節將會列出最常見的問題以及使用 Novell AppArmor 時會發生的錯誤訊息。

已安裝 SUSE Linux,但 AppArmor 並未出現在 YaST 功能表中

如果您在進行安裝時選擇了 GNOME 或 KDE 桌面,系統會依預設安裝 AppArmor。如果您選擇了最小圖形系統文字模式,則依預設 AppArmor 將不包含在內。在這些情況中,請使用 YaST 來安裝缺少的套件。如需更多相關資訊,請參閱 Novell AppArmor 2.0 安裝和快速入門指南

異常的應用程式行為

當您發現異常的應用程式行為或其他的應用程式問題時,請先檢查記錄檔案中的拒絕訊息,並查看 AppArmor 對於應用程式的限制是否過當。

若要檢查拒絕訊息,請啟動 YaST+Novell AppArmor 並移至 AppArmor 報告。為應用程式稽核報告選擇檢視歸檔應用程式稽核。您可以篩選日期和時間以縮小應用程式行為開始的特定期間。

Apache 已知問題

Apache 未正確啟動,或者未提供網頁,且您剛完成新模組安裝或進行組態變更。

當您安裝其他的 Apache 模組時 (例如 mod-apparmor),或者進行 Apache 組態變更時,您都必須再次設定 Apache 以取得必須新增至設定檔的其他規則。

無法透過電子郵件傳送報告

當報告功能產生超過預設大小的 HTML 或 CSV 檔案時,該檔案將無法傳送。郵件伺服器對於電子郵件大小有嚴格的預設限制。該限制會阻擋 AppArmor 的功能,使其無法傳送基於報告目的所產生的電子郵件。如果您無法收到郵件,可能就是因為這個原因。

使用者必須注意郵件大小限制,且必須檢查歸檔以查看是否收到電子郵件。

從使用的設定檔清單排除某些設定檔

AppArmor 會永遠載入並套用此設定檔目錄 (/etc/apparmor.d/) 中可用的所有設定檔。如果您決定不要將設定檔套用至某些應用程式時,可將這些設定檔刪除,或將其移動至 AppArmor 不會進行檢查的其他位置中。

AppArmor 作業會產生各種錯誤。以下列出可能的錯誤及解決方法。

找不到 apparmor_parser

如果您以非 root 使用者的身份執行 logprof,您可能會看到此錯誤訊息:

tux@localhost:~> /usr/sbin/logprof
Can’t find apparmor_parser.
[Note]

您只能以 root 身份執行 logprof。

必須以 root 身份執行 /usr/sbin/genprof

以非 root 使用者身份執行 genprof 時將會產生類似的結果:

tux@localhost:~> /usr/sbin/genprof
/usr/sbin/genprof must be run as root.
卸載 AppArmor 設定檔 .. 失敗

您必須以 root 身份執行 apparmor 啟動和 apparmor 停止程序檔。以非 root 使用者身份執行時將會產生此結果:

tux@localhost:~> /etc/init.d/apparmor stop
/sbin/apparmor_parser: Sorry. You need root priveleges to run this program.
Unloading AppArmor profiles..failed
AppArmor 剖析錯誤

以下範例顯示剖析錯誤的語法。

手動編輯 Novell AppArmor 設定檔將會導致語法錯誤。如果您嘗試以設定檔中的錯誤語法來啟動或重新啟動 AppArmor 時,將會看到以下的錯誤結果:

localhost:~ # /etc/init.d/apparmor start
Loading AppArmor profiles
AppArmor parser error, line 2: Found unexpected character: ’h’
Profile /etc/apparmor.d/usr.sbin.squid failed to load
failed