在Linux操作系統:
一提到自主訪問控制,人們想到的是基於屬主、屬組的讀寫執行的訪問控制體系。
一提到強制訪問控制,人們想到的是Selinux,基於Se的策略控制主體對客體的訪問。
自主訪問控制、強制訪問控制,是一種安全策略,不能將其與具體的安全實現划等號。即使我們使用基於屬主、屬組的安全機制,也同樣能夠實現強制訪問控制。
什么是自主訪問控制、強制訪問控制?
自主訪問控制:
由客體的屬主對自己的客體進行管理,由屬主自己決定是否將自己的客體訪問權或部分訪問權授予其他主體,這種控制方式是自主的。也就是說,在自主訪問控制下,用戶可以按自己的意願,有選擇地與其他用戶共享他的文件。
自主訪問控制是保護系統資源不被非法訪問的一種有效手段。但是這種控制是自主的,即它是以保護用戶的個人資源的安全為目標並以個人的意志為轉移的。
自主訪問控制是一種比較寬松的訪問控制,一個主題的訪問權限具有傳遞性。
其強調的是自主,自己來決定訪問策略,其安全風險也來自自主
強制訪問控制:
用戶的權限和客體的安全屬性都是系統管理員人為設置,或由操作系統自動地按照嚴格的安全策略與規則進行設置,用戶和他們的進程不能修改這些屬性。
其強調是強制,由系統來決定。
不能說強制訪問控制相比較而言,漏洞會更少一些,就使用強制訪問控制替換自主訪問控制。
其原因在於,這兩種安全策略適用的是不同的場合。
有些安全策略,只有用戶知道,系統是無法知道的,那么適合自主訪問控制。
有些安全策略,系統是已知的,是固定的,不受用戶影響的,那么適合強制訪問控制。
因此自主訪問控制和強制訪問控制的差別,不在於安全強度,而在於適用的場合不同。
