看到有ACL,Windows上的文件所有者在哪里重要?


12

来自Linux背景,我习惯于拥有所有者和拥有组的文件。可以分别为所有者,组和其他人设置访问权限,仅此而已。

现在,在(基于NT的)Windows上,它有所不同,因为Windows使用ACL。这意味着我不必拥有三个权限列表(所有者,组,其余),而是可以拥有任意数量的权限列表。

到目前为止,这是有道理的。但是,为什么Windows仍然具有文件所有者的概念?在我看来,使用ACL似乎不再需要“文件所有者”,因为所有访问都可以通过ACL进行配置。

那么,为什么现代Windows仍然使用文件所有权?谁拥有文件在哪里有区别?只要两个文件具有相同的ACL,文件所有权就无关紧要-是吗?


通常用于联网...当地人使用UAC
Piotr Kula

3
@ppumkin:WINDOWS UAC只是除了 ACL系统。
user1686

@ppumkin:关闭UAC,然后尝试覆盖System32中的文件。ACL会让您感冒
surfasb

Answers:


10

首先,Linux 确实具有ACL – POSIX ACL,它允许为任意数量的用户和组设置权限位。(针对RichACL(与NFSv4和WinNT非常相似的ACL的补丁)已重复提交,但尚未合并。)

所有权可以用作一种安全逃逸方法-所有者始终可以更改对象的ACL,即使否则会拒绝更改,例如,某人不小心删除了所有ACL条目或拒绝了所有人的所有更改。(在Linux上,只有所有者或超级用户才能更改文件的ACL,因为没有单独的“更改ACL”权限。)

在Windows NT和Linux上,文件所有权的另一种用法是确定是否在使用磁盘配额的情况下应该依靠该文件的配额。


@surfasb回应他的评论。关于“关心”所有权的确是一个很好的论据。
Erutan409

3

如果从管理员的角度来看,会有很大的不同。

在Linux上,root用户可以直接执行所有操作-该帐户隐式地具有对文件系统中所有对象的所有权限。

在Windows上,默认情况下,管理员无权执行所有操作-仅当您是要更改的对象(文件,文件夹注册表项,...)的所有者时。

以管理员需要更改文件权限的文件夹为例。如果管理员无权更改文件夹的安全设置,则他需要在可以访问/更改文件夹之前接管该文件夹的所有权。

更新:

此功能很重要,因为在ACL受控的环境中,可能会出现文件具有空ACL的情况,这意味着没有人可以访问(默认拒绝原理)。在这种情况下,接管所有权是获得访问权限或删除文件的唯一方法。


1
这是否意味着只有文件所有者才能更改其权限?还是为什么管理员可以拥有文件的所有权,却不能直接更改权限?
sleske 2011年

看到我更新的答案。
罗伯特

@sleske:是的,对象的所有者可以随时更改其权限。
surfasb

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.