環境權限

環境權限 （ 英文 ： Ambient Authority ） 是系統訪問控制研究中的術語 。 當主體 （ 比如某個計算機程序或Linux上的某個用戶 ） 指明它需要的客體 （ Object ， 比如某一文件 ） 的名稱和它將要對該客體執行的動作 （ Operation ， 比如 “ 複製 ” ） 便可以完成該動作的時候 ， 我們稱該主體使用了環境權限 。 在 “ 環境權限 ” 的定義中 ： 客體的 “ 名稱 ” 指的是可被任何主體使用的某一客體的唯一標識符 ， 這一 “ 名稱 ” 本身不包含它所指代的客體的權限信息 。 （ 舉例來說 ， 有一客體名爲 “ foo.txt ” ， 主體 “ root ” 擁有權限 “ rwx ” ， 名稱指的就是 “ foo.txt ” ， 並不包含權限 “ rwx ” ） ； 一個由主體發起的動作 “ 獲得許可 （ 或稱 “ 可以完成 ” ） ” 指的是該主體能夠提出任何一種能夠完成該動作的請求 。 （ 舉例來說 ， 主體 “ root ” 具有 “ foo.txt ” 的 “ r ” 權限 ， 那麼當主體提出 “ r foo.txt ” 的時候能夠完成 “ r ” 的動作 ， 我們說主體的 “ r ” 動作獲得了許可 ） “ 環境權限 ” 存在於 “ 廣泛的可見空間 （ 比如全局環境變量 ） ” ， 也就是說任何主體都可以通過名稱請求它並完成動作 。 下面是一個C程序通過open 程序調用來完成讀取文件的操作 ： open ( “ filename ” ， O_RDONLY, 0 ) 在程序調用過程中 ， 程序僅僅指明瞭目標文件的文件名 ， 此文件名不包含任何的權限信息 ， 也就是說C程序無法從此文件名中獲得權限信息 。 在這個語境中 ， 權限信息存在於環境中 ， 這也就是我們所說的 “ 環境權限 ” 。