以管理员身份运行程序-实际发生了什么?

时间:2018-12-20 13:15:58

标签: windows administrator internals runas

我的目标是从较低的层次上了解当以“管理员”身份启动程序时实际发生的情况。

  1. 是否将程序加载到内核区域内存范围中?
  2. 还是仍在用户区中加载并且API调用不再提示您输入访问请求?

1 个答案:

答案 0 :(得分:1)

登录时,Windows将创建一个访问令牌。这可以识别您,您所属的组以及您的特权。并且请注意,用户是否是管理员取决于用户是否是Administrators组的成员。

在没有UAC的情况下,当您运行程序时,它会获得访问令牌的副本,这将控制程序可以访问的内容。

使用UAC,当您运行程序时,它将获得受限的访问令牌。这是原始访问令牌,其中“ Administrators”已从组列表中删除(以及其他一些更改)。即使您的用户是Administrators组的成员,该程序也不能使用Administrator特权。

当您选择“以管理员身份运行”并且您的用户是管理员时,将使用原始的非限制访问令牌启动程序。如果您的用户不是管理员,则系统会提示您输入管理员帐户,程序将在该帐户下运行。