我有 Linux 背景,习惯于一个文件有一个所有者和一个所有者组。可以分别为所有者、组和其他人设置访问权限,仅此而已。
现在在(基于 NT 的)Windows 上,情况有些不同,因为 Windows 使用 ACL。这意味着,我可以拥有任意数量的权限列表,而不是拥有三个权限列表(所有者、组、其余)。
到目前为止,这很有道理。但是,为什么 Windows 仍然有文件所有者的概念?在我看来,有了 ACL,就不再需要“文件所有者”,因为所有访问都可以通过 ACL 进行配置。
那么为什么现代 Windows 仍然使用文件所有权?谁拥有文件有什么区别?只要两个文件具有相同的 ACL,文件所有权就不重要 - 还是有区别?
答案1
答案2
如果从管理员的角度来看,则会有很大的不同。
在 Linux 上,root 可以直接执行所有操作 - 该帐户隐式拥有文件系统及其他所有对象的所有权限。
在 Windows 上,管理员默认没有权限执行所有操作 - 只有当您是想要更改的对象(文件、文件夹注册表项等)的所有者时才有权限执行所有操作。
以文件夹为例,管理员需要更改文件权限。如果管理员没有权限更改文件夹的安全设置,则他需要先接管文件夹的所有权,然后才能访问/更改它。
更新:
此功能非常重要,因为在 ACL 控制的环境中,可能会出现文件 ACL 为空的情况,这意味着没有人可以访问(默认拒绝原则)。在这种情况下,接管所有权是获取访问权限或删除文件的唯一方法。
答案3
对象所有者始终可以更改 ACL。