我們知道,傳統的 linux 系統安全,採用的是 dac(自主訪問控制方式),而 selinux 是部署在 linux 系統中的安全增強功能模組,它通過對程序和檔案資源採用 mac(強制訪問控制方式)為 linux 系統提供了改進的安全性。
需要注意的是,selinux 的 mac 並不會完全取代 dac,恰恰相反,對於 linux 系統安全來說,它是乙個額外的安全層,換句話說,當使用 selinux 時,dac 仍然被使用,且會首先被使用,如果允許訪問,再使用 selinux 策略;反之,如果 dac 規則拒絕訪問,則根本無需使用 selinux 策略。
例如,若使用者嘗試對沒有執行許可權(rw-)的檔案進行執行操作,那麼傳統的 dac 規則就會拒絕使用者訪問,因此,也就無需再使用 selinux 策略。
相比傳統的 linux dac 安全控制方式,selinux 具有諸多好處,比如說:
有關 selinux 模式設定等內容,後續章節會詳細介紹。
其實,想要了解 selinux 的優點,最直接的辦法就是檢視當 linux 系統上沒有執行 selinux 時會發生什麼事情。
例如,web 伺服器守護程序(httd)正在監聽某一埠上所發生的事情,而後進來了乙個請求檢視主頁的來自 web 瀏覽器的簡單請求。由於不會受到 selinux 的約束,httpd 守護程序聽到請求後,可以完成以下事情:
根據相關的所有者和所屬組的rwx許可權,可以訪問任何檔案或目錄;
完成存在安全隱患的活動,比如允許上傳檔案或更改系統顯示;
可以監聽任何埠的傳入請求。
但在乙個受 selinux 約束的系統上,httpd 守護程序受到了更加嚴格的控制。仍然使用上面的示例,httped僅能監聽 selinux 允許其監聽的埠。selinux 還可以防止 httpd 訪問任何沒有正確設定安全上下文的檔案,並拒絕沒有再 selinux 中顯式啟用的不安全活動。
因此,從本質上講,selinux 最大程式上限制了 linux 系統中的惡意**活動。
spring主要的作用
在ssh框假中spring充當了管理容器的角色。我們都知道hibernate用來做持久層,因 為它將jdbc做了乙個良好的封裝,程式設計師在與資料庫進行互動時可以不用書寫大量的sql語 句。struts是用來做應用層的,他它負責呼叫業務邏輯serivce層。所以ssh框架的流程大致 是 jsp頁面 ...
spring主要的作用?
在ssh框假中spring充當了管理容器的角色。我們都知道hibernate用來做持久層,因 為它將jdbc做了乙個良好的封裝,程式設計師在與資料庫進行互動時可以不用書寫大量的sql語 句。struts是用來做應用層的,他它負責呼叫業務邏輯serivce層。所以ssh框架的流程大致 是 jsp頁面 ...
const的主要作用
可以定義const常量,具有不可變性。例如 const int max 100 max 會產生錯誤。可以避免意義模糊的數字出現,同樣可以很方便地進行引數的調整和修改。同巨集定義一樣,可以做到不變則已,一變都變!如 1 中,如果想修改max的內容,只需要 const int max you want ...