如果我的帐户已经是管理员组的成员,为什么 Windows 7 上的某些功能需要我以管理员身份运行?我以为这是暗示?
答案1
当您成功登录 Windows 计算机时,会生成一个代表该登录会话的访问令牌。除其他信息外,此令牌还包含您的用户名和您所属的组。
您在该会话期间启动的所有程序都引用此令牌。当程序想要执行某项操作时,它会向 Windows 出示访问令牌,Windows 会使用它来验证用户是否有权执行该操作。
问题在于,当你以管理员身份登录时,您启动的每个程序都以管理员身份运行。这很方便,但也意味着邮件阅读器、文本编辑器以及您下载和运行的每个随机程序都能够在需要时破坏您的系统。
这就是用户帐户控制旨在解决的问题。
启用 UAC 后,管理员登录时会分配两个单独的访问令牌:
- 一标准代币包含除“管理员”之外的所有组成员身份。
- 一提升令牌包含所有组成员身份,包括“管理员”。
在正常使用期间,将使用标准访问令牌。使用此令牌启动程序时,它具有与标准用户相同的权限。如果它尝试执行只有管理员才能访问的操作,Windows 将拒绝访问,因为标准令牌不包含管理员成员身份。
如果您以“管理员身份”启动程序,Windows 将为该程序提供提升令牌,而不是标准令牌。现在,每当应用程序尝试访问仅限管理员访问的内容时,令牌将包含该成员资格,操作将成功。
UAC 的目的是减少对计算机具有管理控制权的程序数量。文本编辑器和邮件阅读器通常不需要以管理员身份运行,因此看到这些程序出现 UAC 对话框应该引起警惕,或者至少应该进行一些审查。
微软的UAC 的解释以及处理它的一些步骤也可用。
答案2
这个想法是提供最低权限。
最小特权原则被广泛认为是增强数据和功能免受故障(容错)和恶意行为(计算机安全)影响的重要设计考虑。使用管理凭据运行的程序越多,您就越容易受到错误或恶意软件的攻击。允许您执行需要管理访问权限的操作而无需使用该级别的访问权限执行所有操作的折衷方案是逐案明确提示 - 仅仅因为您属于管理组并不意味着您想为您使用的每个程序提供完整的管理权限。