环境权限

✍ dations ◷ 2025-09-19 07:46:12 #存取控制,电脑安全

环境权限(英文: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系统都是在用户启动程序后直接赋予程序所有用户拥有的权限,所以这两种操作系统都在使用环境权限模式进行权限管理。这不仅可能赋予被执行程序多于所需的权限,还无法控制程序使用了何种、来源于何的权限。这种情形下,用户只能祈望程序没有使用过多权限。

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

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

相关

  • 贵腐酒贵腐甜白酒(德语:Trockenbeerenauslese),又名贵腐酒,是一种甜葡萄酒,源自匈牙利,利用过分成熟而在树上干萎的葡萄酿制。特色是糖分比较高,味道甜美,给认为是顶级的甜白葡萄酒。一般而
  • 灵犬莱西《灵犬莱西》(Lassie Come-Home)也称为莱西回家, (港译: 神犬拉西)是瑞克·奈特 (Eric Knight) 创作的长篇小说,内容提到一只名叫莱西的可丽牧羊犬长途跋涉,回到她喜欢的小男孩
  • 木卫四木卫四又称为“卡里斯托”(Callisto、发音: /kəˈlɪstoʊ/、希腊文:Καλλιστώ),是围绕木星运转的一颗卫星,由伽利略·伽利莱在1610年首次发现。木卫四是太阳系第三大卫星
  • 腾讯乘车码腾讯乘车码是一款由腾讯公司推出的微信小程序,透过微信支付签约授权开通后,可生成QR码用于乘坐巴士、地铁等。腾讯乘车码于2017年7月首次在广州推出。用家需先打开腾讯乘车码
  • 美洲战争列表包括:北美、南美和中美
  • 317<< 310311312313314315316317318319>> 317是自然数,介于316和318之间。
  • 安德鲁克里斯和狮子《安德鲁克里斯和狮子》(英语:Androcles and the Lion )1952年上映于英国的古装片。安德罗斯是一个信仰基督教的裁缝,身份是一个奴隶,他在罗马帝国受到宗教迫害,因此逃出了罗马帝
  • 伯尔诺瓦乡坐标:47°09′N 27°35′E / 47.150°N 27.583°E / 47.150; 27.583伯尔诺瓦乡(罗马尼亚语:Comuna Bârnova, Iași),是罗马尼亚的乡份,位于该国东北部,由雅西县负责管辖,面积42平方
  • 约瑟·哈罗德·格林伯格约瑟·哈罗德·格林伯格(英语:Joseph Harold Greenberg;1915年5月28日-2001年5月7日)是一位很卓越但亦具争议的语言学家及非洲人类学家。他最为人所知的工作,主要是语言的分类及
  • 艾蒂安·利奥波德·特鲁夫洛艾蒂安·利奥波德·特鲁夫洛(法语:Étienne Léopold Trouvelot, 1827年12月26日-1895年4月22日)是一位法国艺术家、天文学家暨业余昆虫学家 。他最知名的是将外来物种-舞毒蛾