在服务器 2008 R2 中,如果我以管理员模式运行应用程序,子进程是否仍处于相同模式?

在服务器 2008 R2 中,如果我以管理员模式运行应用程序,子进程是否仍处于相同模式?

在服务器 2008 R2 中,如果我以管理员模式运行应用程序,子进程是否仍处于相同模式?

我提出这个问题是因为我怀疑该应用程序的子进程没有在管理员模式下运行。

答案1

是的,子进程继承了父进程的访问令牌(来自UAC 流程和交互在 TechNet 上):

每个需要管理员访问令牌的应用程序都必须提示管理员同意。唯一的例外是父进程与子进程之间存在的关系。子进程从父进程继承用户访问令牌。但是,父进程和子进程必须具有相同的完整性级别。


一些相关的奖金信息:

runas实用程序有两个记录不全的开关/showtrustlevels/trustlevel它们似乎允许您使用标准用户令牌而不是管理员令牌启动(从提升的进程)新进程,而不会降低子进程的完整性级别:

runas /trustlevel:0x20000 cmd.exe

您会发现窗口标题包含(running as [username] with restricted privileges),并且与提升的提示相比,whoami 将显示受限的权限和组列表:

在此处输入图片描述

答案2

是的,它将以管理员权限执行。

简单测试:

您可以通过以管理员身份打开应用程序并从应用程序中打开 notepad.exe 来测试这一点。尝试将空白文本文件保存到 C:\Windows。如果确实如此不是抛出权限错误,那么您就知道子进程(记事本)正在以提升的权限运行。

答案3

是的,孩子将处于管理员模式。

这就是为什么以管理员身份运行 cmd.exe 允许您以管理员模式启动其他程序的原因。

相关内容