UAC和Windows平台上的ACL之间有什么关系(如果有的话)?

UAC和Windows平台上的ACL之间有什么关系? 这两个单独的安全计划? 或者是另一个的超集?

直觉上,我期望他们是相关的,但我一直试图找出几个小时现在,但没有发现任何文档通过谷歌search谈论这两个主题,而不是提供比较/对比/关系的讨论。

任何想法和链接将不胜感激。

它们之间的关系在于,UAC依赖于ACL(以及所有相关的安全设备)的存在才能起作用。

UAC通过从非升级进程中删除(技术上讲,禁用)pipe理员令牌来工作。 这意味着,如果特定文件或文件夹的ACL只允许访问pipe理员,则非高级进程将无法访问。 这就是为什么安装程序无法先写入程序文件的原因。

编辑:

有关UAC的更多信息,请参阅这篇文章 。

特别是:“当pipe理员login到运行Windows 7或Windows Vista的计算机时,将为用户分配两个单独的访问令牌。访问令牌(包含用户的组成员身份以及授权和访问控制数据)由Windows操作系统来控制用户可以访问的资源和任务。

我想你可以争辩说,UAC依赖Windows授权模型,其中ACL只是一个特定的组件,因此UAC与ACL无关。 我不认为这是一个有用的方式来看待它。 让我这样说:如果没有任何ACL,UAC将是毫无意义的。

您还应该阅读这篇文章 , 这篇文章解决了关于UAC的一些常见误解,尤其是对于安全特性的误解:“UAC的主要目标是让更多的用户以标准的用户权限运行,但是UAC的技术之一看上去和闻起来就像一个安全特征:同意提示许多人认为,软件必须要求用户授予pipe理权限,这意味着他们可以防止恶意软件获得pipe理权限。

他们是不同的安全scheme。 UAC翻转显示并提示您单独validation您正在尝试安装/修改/等的应用程序。

ACL决定你可以/不能访问的东西等。两者之间没有共同之处。

作为一个思想实验:在一个文件夹(C:\文件夹)中有一个安装程序(install.exe)。 如果用户缺less访问文件夹的权限,则无论UAC是否启用,安装程序都不会运行。 如果用户没有软件安装权限,则不pipe是否启用UAC,安装程序都不会运行。 如果用户可以访问该文件夹,并且可以安装软件,则无论是否启用UAC,安装程序都将运行。

UAC并不是要取代ACL。 它被嫁接到Windows上,以防止静默安装和程序升级。

XXXXXX