自由選定存取控制
在計算機安全中,自主訪問控制(英語:discretionary access control,縮寫DAC)由《可信計算機系統評估準則》[1]所定義的訪問控制中的一種類型。它是根據主體(如用戶、進程或 I/O 設備等)的身份和他所屬的組限制對客體的訪問。所謂的自主,是因為擁有訪問權限的主體,可以直接(或間接)地將訪問權限賦予其他主體(除非受到強制訪問控制的限制)。
自主訪問控制常常與強制訪問控制(MAC,Mandatory Access Control,又叫非自主訪問控制)對比。有時候,一個系統稱其整體有「自主的」或者「純自主的」訪問控制的時候,意味着這個系統沒有強制訪問控制。而有的時候,系統也可以同時實現自主訪問控制和強制訪問控制,其中自主訪問控制是指一類可以在主體之間相互轉讓權限的訪問控制,而強制訪問控制則指的是另一類強制限制權限的訪問控制。
實現方法
實際上這個術語的意思並不像《可信計算機系統評估準則》中給出的定義一樣清晰,這是因為評估準則中並沒有強調實現的概念。因此,至少有兩種實現方法,分別是:基於屬主(多數情況採用此方法)和基於能力。[2]
基於屬主
自主訪問控制通常假定所有客體都有屬主,並且屬主能夠修改訪問該客體的權限,這可能因為大部分系統的確通過屬主的概念來實現的。但是評估準則中並沒有關於屬主的說明,所以技術上訪問控制系統並非必須擁有屬主。
基於這種實現下,用戶(屬主)能夠修改安全屬性。一個直接的例子是 Unix 的文件模式。
基於能力
能力系統有時被認為能夠提供自主的控制,因為它允許主體將權限轉讓給其他主體,即使基於用戶能力的安全系統根本沒有基於主體身份限制訪問。(一般來說,能力安全系統並不允許權限被傳遞給「任何其他主體」;主體想要轉讓它的權限必須訪問接受權限的主體,但在系統裡主體一般是沒有訪問能力訪問其他所有主體的)。
參閱
參考
- ^ Trusted Computer System Evaluation Criteria. United States Department of Defense. December 1985. DoD Standard 5200.28-STD. (原始內容存檔於2006-05-27).
- ^ http://fedoraproject.org/wiki/Features/RemoveSETUID (頁面存檔備份,存於網際網路檔案館) – Fedora 15 set to remove SETUID in favor of (Linux kernel) capabilities