什么是 Windows ACL 以及为什么它们很重要?
答案1
我在此发现了以下内容维基百科页。
访问控制列表 (ACL) 是计算机文件系统中附加到对象的权限列表。ACL 指定哪些用户或系统进程被授予对对象的访问权限,以及允许对给定对象执行哪些操作。典型 ACL 中的每个条目都指定一个主题和一个操作。例如,如果某个文件的 ACL 包含 (Alice,删除),则这将授予 Alice 删除该文件的权限。
回答你关于“它们为什么重要?”的问题,如果你还不明白,如果你没有它们,权限就不存在。这就是 Windows 了解谁拥有某些特权的方式。
答案2
访问控制列表 (ACL) 有零个或多个访问控制条目 (ACE)。Windows 中的许多不同对象都可以有 ACL,例如文件、设备、打印机、注册表条目和其他内容。(查看SysInternal 的 WinObj如果您想了解 Windows“命名空间”中所有不同类型的对象 - 许多是 Windows 内部的,并不直接向用户公开)
ACE 包括
- A主要的。通常,这要么是用户,要么是组。它可以是域控制器上的 Active Directory 数据库中的用户、组或计算机,也可以是本地用户。有“虚拟”组,例如“所有人”和“经过身份验证的用户”。
和
- 一个或多个功能,每个功能可设置为允许或拒绝。功能的一些示例包括“读取”、“写入”、“列出内容”等。拒绝优先于允许。除非有特定的“允许”ACL 可用,否则大多数对象(如文件等)将不允许访问或更改;因此,拒绝应仅在特殊情况下使用。
ACL 可以被继承,即下级目录中的文件可以继承上级目录中的 ACL。
它们很重要,因为这是 Windows 授予和强制执行进程权限的方式。每个进程都以用户身份运行,如果该用户“属于”一个或多个 ACE,则 Windows 会解析所有这些 ACE,以确定是否允许特定操作。
答案3
你可以这样看待它。
NTFS 上的每个对象都有一个序列号(包括用户帐户、用户组、进程、设备等)。访问控制列表跟踪哪个序列号可以访问另一个序列号,以及设置了哪些权限。想象一下,所有东西都有一个序列号,并附加了权限。
如果您删除名为 FRED 的用户,他的序列号也会被删除,并从 ACL 中删除。实际上,FRED 的序列号不再与其他设备相关联,并且他对这些设备的权限也会被删除。
如果您重新创建用户名 FRED,他将获得一个新的序列号。ACL 会将其识别为新号码。因此,它不会重新建立已删除的 FRED 帐户所具有的任何权限。
希望这有助于概念化 ACL 是什么、它如何工作以及它为什么重要。