【问题标题】:Will Windows 7 pop up a message when an application needs administrator privileges?当应用程序需要管理员权限时,Windows 7 会弹出消息吗?
【发布时间】:2011-07-29 08:32:28
【问题描述】:

当我编写一个需要做一些“可管理”的应用程序时会发生什么?

就像将文件写入C:\Program Files - 那么,当应用程序尝试这样做时,会发生什么?是否会弹出一条消息要求用户输入密码?会抛出异常吗?程序会终止,计算机会爆炸吗?上述所有的? :)

附带说明:Windows 7 用户是否默认以管理员身份登录?

【问题讨论】:

  • +1 表示“程序将终止,计算机将爆炸”。说真的,虽然不是一个坏问题。

标签: windows security windows-7 windows-vista uac


【解决方案1】:

通常,Windows Vista 和 Windows 7 不会自动检测您需要管理员权限,也不会自动提升您的应用程序。 Microsoft has some guidelines 用于正确请求提升。没有清单的旧应用程序也可能会发现自己被虚拟化 - 也就是说,您对程序文件的写入可能会重定向到用户配置文件目录下的目录。

请记住,您应该将特权操作保持在最低限度。 UAC 的存在是为了阻止应用程序开发人员请求不必要的管理访问,以提高安全性。唯一应该与程序文件混淆的程序是安装程序。

请注意,Windows 7/Vista 上的管理用户在不提升权限的情况下无法使用他们的权限 - 管理员令牌的 integrity level 高于默认运行的进程,因此无法访问。如果您尝试执行需要此类访问的操作,您将收到拒绝访问错误;底层 API 不会抛出任何异常,它们通常会失败并将 GetLastError() 设置为 ERROR_ACCESS_DENIED。当然,更高级别的 API 可能会选择将其转换为抛出的异常,或者以暴力方式终止,尽管后者非常粗鲁,并且不太可能出现在任何内置的 Windows API 中。

【讨论】:

  • 链接似乎真的很有帮助,谢谢 - 我将(希望)测试应用程序并查看它适用于哪个 uac 配置文件。 7/vista 用户是否默认以管理员身份登录,而从不需要密码?例如,在 linux 中,我可以以 root 身份登录 mandriva 并执行所有操作 - 而在 debian 中,即使我想这样做,我也无法做到 - 或者我认为。在 xp 中,我几乎总是以管理员身份登录,并且可以做任何事情。
  • 没有。 7/vista 中的 Admin 类似于 Debian 或 Ubuntu 上具有 sudo 权限的管理用户,而 UAC 类似于 sudo 操作。并停止在 mandriva 上以 root 身份登录! :)
猜你喜欢
  • 2011-03-06
  • 2014-09-19
  • 2013-07-20
  • 1970-01-01
  • 2013-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多