环境权限

✍ dations ◷ 2025-12-03 10:20:27 #存取控制,电脑安全

环境权限(英文:Ambient Authority)是系统访问控制研究中的术语。当主体(比如某个计算机程序或Linux上的某个用户)指明它需要的客体(Object,比如某一文件)的名称和它将要对该客体执行的动作(Operation,比如“复制”)便可以完成该动作的时候,我们称该主体使用了环境权限。

在“环境权限”的定义中:


“环境权限”存在于“广泛的可见空间(比如全局环境变量)”,也就是说任何主体都可以通过名称请求它并完成动作。

下面是一个C程序通过open()程序调用来完成读取文件的操作:

open(“filename”,O_RDONLY, 0)

在程序调用过程中,程序仅仅指明了目标文件的文件名,此文件名不包含任何的权限信息,也就是说C程序无法从此文件名中获得权限信息。在这个语境中,权限信息存在于环境中,这也就是我们所说的“环境权限”。

当环境权限被请求时,是否授予或拒绝权限取决于动作的全局属性,比如作出动作的身份或角色(在Li/Unix语境下,这里的身份即为“用户”)。在使用环境权限的时候,权限的管理将独立于原有的权限控制表(英语:Access-control list)或基于角色的权限控制(英语:Role-based_access_control)等模式,因而正在使用环境权限的程序不会被传统的权限控制手段限制。在这种情况下,系统的权限控制机制无法区分环境权限的使用者是谁,导致了代理混淆问题(英语:Confused deputy problem)

下面的例子来自于 UC Barkely EECS学院 David Wagner教授的PLAS06课程:

# “cp” 必须运行在环境权限下,它可以访问任意用户能够访问的文件$ cp foo.txt bar.txt#“cat” 只需要它用得到的权限$ cat < foo.txt > bar.txt# 环境权限:即使你不需要,也会在调用时带来的权限

今天,因为Unix和Windows系统都是在用户启动程序后直接赋予程序所有用户拥有的权限,所以这两种操作系统都在使用环境权限模式进行权限管理。这不仅可能赋予被执行程序多于所需的权限,还无法控制程序使用了何种、来源于何的权限。这种情形下,用户只能祈望程序没有使用过多权限。

与环境权限相对应的是“基于能力的权限控制”,这一模式要求程序执行时像接收数据那样接收并利用权限。权限授予机制在程序请求权限时审查并发放“权限”,以此赋予主体使用客体的“能力”,以便于避免代理混淆问题。

但是请注意,基于能力的权限管理系统与非环境权限授权系统并不是同义词。

相关

  • HNOsub4/sub过硝酸,又称过氧硝酸,化学式为HNO4(或者HOONO2)是一种不稳定具有爆炸性的晶体,亦有极强的氧化性,强过高氯酸,但还是不能溶解玻璃,N2O5与H2O2反应除形成HNO3外,还形成过硝酸。目前还没
  • J02A·B·C·D·G·H·QI·J·L·M·N·P·R·S·VATC代码J02(抗真菌药)是解剖学治疗学及化学分类系统的一个药物分组,这是由世界卫生组织药物统计方法整合中心(The WHO Collaborat
  • 笕桥空战东南亚地区:缅甸:西南太平洋地区:北美地区:日本本土:满洲:八一四空战,是中国抗日战争淞沪会战期间,中华民国空军和大日本帝国海军航空队之间的一次空战。时间发生在1937年8月14日,因
  • 维基导游维基导游(英语:Wikivoyage)是基于Wiki系统,由志愿者撰写的免费互联网旅游指南。项目于2006年9月由德国的同名组织Wikivoyage e.V.发起,于2006年12月10日上线,2012年8月加入维基媒
  • 柴山矢八柴山 矢八(しばやま やはち、嘉永3年旧暦7月13日(1850年8月20日) - 大正13年(1924年)1月27日),日本明治时期的海军军人、华族。海军大将军衔。男爵。鹿児岛県出身。他是日本海军的
  • 伊娃·洛蒂伊娃·洛蒂(英语:Eva Notty,1982年7月7日-)是一名美国色情演员,隶属于The Score Group(英语:The Score Group)。伊娃·洛蒂出生于亚利桑那州土桑,在成为色情演员前,她曾担任家庭经营的
  • 沈宸荃沈宸荃(1615年-1652年),字友荪,号彤庵,南明首辅大臣,抗清志士,浙江宁波慈溪观海卫镇师桥昭十三房人。清高宗感其忠义,谥之为忠节。九岁,应童子试,成为廪生。崇祯十二年(1639年),中举人。崇
  • 维吉妮·拉扎诺维吉妮·拉扎诺(1983年5月12日-)是一位法国网球选手,右手持拍,身高173公分,体重64公斤,现在居住于法国尼姆,生涯单打最高排名为16(2009年9月14日),获得WTA单打赛事冠军2个。
  • 布朗什峰坐标:46°07′55.2″N 6°50′30.6″E / 46.132000°N 6.841833°E / 46.132000; 6.841833布朗什峰(法语:Dents Blanches),是西欧的山峰,位于瑞士和法国接壤的边境,属于沙布来山区
  • 马金斯克坐标:52°38′01″N 70°25′04″E / 52.63373°N 70.4177°E / 52.63373; 70.4177马金斯克(哈萨克语:Макинск)是哈萨克斯坦阿克莫拉州的一个城镇,距离首都努尔苏丹约180