请考虑以下情况。
假设我的机器上注册了两个交互式本地用户帐户:(组Admin
成员Administrators
)和Alice
(组成员Users
)。假设我的硬盘上有一个文件夹Test
,其安全设置如下:
Owner : Alice
Permissions:
System : Full Control
Administrators: Full Control
Alice : Full Control
现在,如果我以Admin
帐户身份登录并尝试打开该文件夹Test
,Windows 最初会拒绝这样做。它会显示一个消息框,提示
"You don't currently have permissions to access this folder"
Admin
我的第一个问题是:为什么?我以群组成员的身份登录Administrators
,因此我应该对该文件夹拥有完全控制权。为什么 Windows 说我目前没有权限?
现在,上述消息框还将为我提供“单击继续以永久访问此文件夹”的机会。如果我单击“继续”,我将被允许打开文件夹Test
。因此,的安全设置Test
将更改为
Owner : Alice
Permissions:
System : Full Control
Administrators: Full Control
Alice : Full Control
Admin : Full Control
如您所见,Windows 自动Admin: Full Control
在列表中添加了一个额外条目。之后,我将能够Test
不受任何限制地访问。但是,上面的安全权限集对我来说似乎是多余的。它Administrators: Full Control
从一开始就包含了条目。为什么这还不够?
所以,我的第二个问题是:为什么 Windows 需要一个额外的Admin: Full Control
条目来最终赋予Admin
“完全控制权”。
这种行为背后的形式逻辑是什么?
一些澄清
请注意,这个问题不是关于我的Admin
帐户不是“无所不能的管理员,可以为所欲为”。我Admin
根本不指望我的帐户是无所不能的。事实上,从最基本的层面上讲,我不在乎我的帐户有什么特殊权利Admin
。这只是一些属于一些团体。
我的问题是关于通过组成员身份授予的文件系统访问权限。
再举一个例子。假设我创建了一个名为的随机用户组Ugly Ducklings
。然后我将普通用户Alice
和添加Bob
到该Ugly Ducklings
组中。
然后我创建DucklingTest
具有以下权限的文件夹
Owner : Alice
Permissions:
Ugly Ducklings : Full Control
现在,如果我以身份登录,Bob
我确实可以完全控制DucklingTest
文件夹(!)。
为什么?
我 是Bob
全能的管理员吗? 不是。 我Bob
有特权吗? 不是。 我是否必须以Bob
某种方式“提升”权限才能访问DucklingTest
? 不是。
那么,为什么可以Bob
完全控制DucklingTest
文件夹?
简单。Bob
可以完全控制DucklingTest
文件夹,因为是组Bob
的成员,并且组已被授予完全控制权限。 故事结束。Ugly Ducklings
Ugly Ducklings
DucklingTest
为什么同样的逻辑不适用于Admin
?Administrators
是组Admin
成员Administrators
,并且Administrators
组已被授予对Test
文件夹的完全控制权限。这里缺少什么?在这种情况下,Windows 试图通过强加看起来像额外的对群组成员有限制Administrators
吗?
答案1
如果我点击“继续”,我将被允许打开文件夹测试
下面解释了为什么Windows会自动添加一个额外的条目Admin: Full Control to the list
。
假设已启用用户帐户控制 (UAC),并且您使用 Windows 资源管理器访问您没有读取权限的文件夹。
此外,该文件夹未标记为“隐藏”和“系统”属性。在这种情况下,Windows 资源管理器会显示一个对话框,提示您以下内容:
“您目前无权访问此文件夹。单击“继续”即可永久访问此文件夹”
笔记:
- 在 Windows Vista 和 Windows Server 2008 中,第二句不包含“永久”一词;它只是说“单击“继续”即可访问此文件夹”。
然后您可以选择单击“继续”或“取消”。(默认选择“继续”。)
如果单击“继续”,UAC 将尝试代表您获取管理权限。
根据控制 UAC 提升提示行为的 UAC 安全设置,以及您是否是管理员组的成员,系统可能会提示您同意或输入凭据。
或者,您可能根本没有收到提示。如果 UAC 可以获得管理权限,后台进程将更改文件夹及其所有子文件夹和文件的权限,以授予您的用户帐户对它们的访问权限。
在 Windows Vista 和 Windows Server 2008 中,后台进程授予您的用户帐户读取和执行权限。在更高版本的 Windows 中,此进程授予您的用户帐户完全控制权限。
此行为是设计使然。但由于 UAC 提升的典型模式是使用管理权限运行提升的程序实例,因此用户可能认为单击“继续”将生成提升的 Windows 资源管理器实例,而不会对文件系统权限进行永久更改。
然而,这种期望是不可能的,因为 Windows 资源管理器的设计不支持在交互式用户会话中在不同的安全上下文中运行多个进程实例。
如果禁用 UAC,则无法提升 UAC。
由管理员组成员运行的所有程序(包括 Windows 资源管理器)始终具有管理权限。
因此,管理员不需要使用提升权限来访问需要管理权限的资源。
例如,如果某个文件夹仅授予管理员组和系统帐户访问权限,则管理员可以直接浏览该文件夹,而无需提示更改该文件夹的权限。
如果用户没有读取权限,Windows 资源管理器将显示前面描述的对话框。
但是,如果禁用 UAC,Windows 就无法通过 UAC 提升提示代表用户请求管理凭据。
因此,Windows 不会为了更改文件系统权限而启动具有管理权限的后台进程。
但是,如果用户单击“继续”,并且文件夹的当前安全描述符授予用户读取和更改对象权限的权限,则 Windows 将在用户当前的安全上下文中启动后台进程,并修改文件夹的权限以授予用户更大的访问权限,如前所述。
用户可能具有从对象所有权或对象的访问控制列表 (ACL) 读取和更改对象的权限的权限。
来源当您在 Windows 资源管理器中单击“继续”以访问文件夹时,您的用户帐户将添加到该文件夹的 ACL 中
我以管理员身份登录 - 管理员组成员
因此我应该对该文件夹拥有完全控制权。为什么 Windows 说我目前没有权限?
账户Admin
名为不是内置Administrator
帐户(名为Administrator
)。
内置管理员帐户不需要提升权限,而您创建并放入管理员组的用户则需要(假设 UAC 尚未被禁用)。
如果您想要使用已创建 (例如Admin
) 并放置在管理员组中的帐户执行需要管理员权限的操作,则必须执行以下操作之一:
根据请求确认权限提升,或
通过右键单击该应用程序并选择选项以管理员身份运行。
管理员不是管理员
某用户试图将某个文件的所有者设置为“管理员”。尽管该用户以管理员身份登录,但他无法执行此操作。为什么系统不允许管理员将某个文件的所有者更改为管理员?难道管理员无权取得文件的所有权吗?
...
那么你知道Administrator与Administrators的区别吗?
管理员是一个帐户。
- 如果将某个权限或特权授予管理员,则只有使用管理员帐户登录的人员才能执行此操作,即默认名称为 Administrator(英文)的帐户。
另一方面,管理员是一个群体。
如果您是某台机器的管理员组的成员,则您已被授予该机器的管理员权限。
当人们说“我是这台机器的管理员”之类时,他们指的是管理员组的成员身份。
使用不定冠词(“an”)而不是定冠词(“the”)强调用户只是众多管理员之一。
当人们说“我以管理员身份运行”之类的话时,事情就更加含糊了。这可能意味着他们以管理员帐户身份运行,或者以属于管理员组的帐户运行。
一旦您理解了这种差异,就会明白为什么我之前提到的用户无法重新分配文件的所有权。
用户使用属于管理员组的帐户登录 - 但不是使用管理员帐户本身。
我们将用户帐户命名为“Bob”。SeTakeOwnershipPrivilege 权限分配给 Administrators 组的成员,允许该组的成员将所有权分配给自己。但是,此权限不允许成员将所有权分配给其他人。
在此示例中,Bob 可以将文件的所有权分配给 Bob。但他错误地尝试将所有权分配给管理员,而由于 Bob 不是管理员,因此操作失败。
用户需要使用管理员帐户登录并从那里获取文件的所有权。在这种情况下,管理员将所有权分配给自己。(或者,Bob 可以
SeRestorePrivilege
在设置所有者之前启用。
- 然而,这种方法有点非正统,因为它
SeRestorePrivilege
旨在供备份恢复程序使用。)
来源管理员不是管理员
进一步阅读
答案2
这是我通过经验理解的:
Administrators
是一个特权群体。
当您以会员身份登录时Administrators
,某些应用程序不会在提升**Administrator**
级别下运行。探索者和 iexplore 在权限级别运行Users
,因此如果您访问一个文件夹,而您的唯一权利是成为其成员Administrators
,那么您必须经过额外的审核才能获得对文件夹结构的提升访问权限。
例如,如果您尝试获取用户配置文件文件夹的大小,而您唯一的权限是作为成员Administrators
,那么您无法获取文件夹内容的大小,因为您尚未获得该权限。您必须先打开文件夹以跳过提升权限并首先获得该权限,因为探索者在权限级别运行Users
。处理查看文件权限时,您有时会看到同样的情况,但看不到它们。有时您会看到一个按钮,单击该按钮可提升窗口的权限级别,以便您可以查看它们。
现在如果你运行探索者作为一个**Administrator**
,我相信你不再需要克服那个海拔高度障碍(我不记得这是否真的有效,已经有一段时间了)。
我希望这有帮助。