微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创build一个进程作为另一个用户运行

我有一个C#Windows服务以提升的权限运行。 其中一项服务的工作是创build一个新的本地用户帐户,并使用该帐户执行一些设置任务(设置一些registry设置,等等)。 该服务正在“本地系统”帐户下运行。

清单中的权限

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

产生该过程的代码

using (var proc = new Process()) using (var password = new securestring()) { foreach (var c in accountPassword) { password.AppendChar(c); } proc.StartInfo = new processstartinfo( pathToExecutable,arguments) { LoadUserProfile = true,UseShellExecute = false,CreateNowindow = true,RedirectStandardError = true,RedirectStandardInput = true,RedirectStandardOutput = true,Domain = accountDomain,UserName = accountName,Password = password }; StringWriter outWriter = new StringWriter(),errWriter = new StringWriter(); proc.OutputDataReceived += (o,e) => outWriter.Write(e.Data); proc.ErrorDataReceived += (o,e) => errWriter.Write(e.Data); proc.EnableRaisingEvents = true; proc.Start(); // <-- exception thrown here ...

导致exception

System.ComponentModel.Win32Exception(0x80004005):访问被拒绝

在System.Diagnostics.Process.StartWithCreateProcess(processstartinfo startInfo)

在 ...

实验

如果我去本地服务控制面板,我可以更改服务,使其以pipe理员帐户(即“JoeAdmin”,而不是“pipe理员”)运行,并且程序成功。 下面是令人沮丧的部分:我试图从服务运行whoami.exe /priv ,看看我有什么特权作为“JoeAdmin”,我没有作为“本地系统”,会导致程序失败。 剧透:根据whoami的说法,“本地系统”具有“JoeAdmin”所拥有的所有特权,但有一个例外(SeRemoteShutdownPrivilege,我希望这不是重要的)。

本地系统特权

(作为提醒,操作失败,这些特权。)

特权信息

----------------------

特权名称描述状态

=============================== =================== ====================== ========

SeAssignPrimaryTokenPrivilegereplace进程级别标记已禁用

SeLockMemoryPrivilegelocking内存中的页面已启用

SeIncreaseQuotaPrivilege调整进程禁用的内存配额

SeTcbPrivilege作为操作系统的一部分启用

SeSecurityPrivilegepipe理审核和安全日志已禁用

SeTakeOwnershipPrivilege取消文件或其他对象的所有权

SeLoadDriverPrivilege加载和卸载设备驱动程序已禁用

SeSystemProfilePrivilegeconfiguration文件系统性能已启用

SeSystemtimePrivilege将系统时间更改为禁用

SeProfileSingleProcessprivilegeconfiguration文件单个进程已启用

SeIncreaseBasePriorityPrivilege增加调度优先级启用

SeCreatePagefilePrivilege创build一个页面文件启用

SeCreatePermanentPrivilege创build永久共享对象已启用

SeBackupPrivilege备份文件和目录禁用

SeRestorePrivilege还原文件和目录已禁用

SeShutdownPrivilegeclosures系统禁用

SeDebugPrivilegedebugging程序已启用

SeAuditPrivilege生成安全审计已启用

SeSystemEnvironmentPrivilege修改固件环境值已禁用

SeChangeNotifyPrivilege跳过遍历检查已启用

Sendows特权从扩展坞中移除计算机已禁用

SeManageVolumePrivilege执行卷维护任务已禁用

SempersonatePrivilege启用身份validation后模拟客户端

SeCreateGlobalPrivilege创build全局对象已启用

SeIncreaseWorkingSetPrivilege增加进程工作集启用

SeTimeZonePrivilege更改时区已启用

SeCreateSymbolicLinkPrivilege创build符号链接已启用

JoeAdmin的权限

(操作成功了这些权限。)

我如何检查用户是否具有执行权限?

以编程方式设置ACCESS_ALLOWED_ACE,获得与RegEdit不同的结果

Symfony2 Capifony部署setfaclcaching目录不允许操作

如何知道我在Windows中是否具有pipe理权限?

检查两个NTAccount对象的相等性

特权信息

----------------------

特权名称描述状态

=============================== =================== ====================== ========

SeIncreaseQuotaPrivilege调整进程禁用的内存配额

SeSecurityPrivilegepipe理审核和安全日志已禁用

SeTakeOwnershipPrivilege取消文件或其他对象的所有权

SeLoadDriverPrivilege加载和卸载设备驱动程序已禁用

SeSystemProfilePrivilegeconfiguration文件系统性能已禁用

SeSystemtimePrivilege将系统时间更改为禁用

SeProfileSingleProcessprivilegeconfiguration文件单个进程已禁用

SeIncreaseBasePriorityPrivilege增加调度优先级禁用

SeCreatePagefilePrivilege创build页面文件已禁用

SeBackupPrivilege备份文件和目录已禁用

SeRestorePrivilege还原文件和目录已禁用

SeShutdownPrivilegeclosures系统禁用

SeDebugPrivilegedebugging程序已禁用

SeSystemEnvironmentPrivilege修改固件环境值已禁用

SeChangeNotifyPrivilege跳过遍历检查已启用

SeRemoteShutdownPrivilege强制从远程系统closures已禁用

Sendows特权从扩展坞移除计算机已禁用

SeManageVolumePrivilege执行卷维护任务已禁用

SempersonatePrivilege启用身份validation后模拟客户端

SeCreateGlobalPrivilege创build全局对象已启用

SeIncreaseWorkingSetPrivilege增加一个进程工作集disabled

SeTimeZonePrivilege更改时区已禁用

SeCreateSymbolicLinkPrivilege创build符号链接已禁用

这个问题

我可以从本地系统帐户产生进程吗? 要么,

该服务是由WiX安装程序安装的,有没有办法让服务从安装程序获得正确的权限?

<ServiceInstall Id="ServiceInstaller" Type="ownProcess" Name="MyCoolService" displayName="My Cool Service" Description="My Cool Service Component" Start="auto" ErrorControl="normal" />

确定/ etc / sudoer中用户权限的最快方法

GetProcessesByName()和Windows Server 2003计划任务

Schtaskspipe理用户权限错误

如何为所有用户注册一个COM对象

修复403 Forbidden别名目录与Apache

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐