【问题标题】:Alternative Permissions for StartInfoStartInfo 的替代权限
【发布时间】:2011-06-22 15:09:33
【问题描述】:
我有一个使用 StartInfo 检索进程信息的服务(通常作为 NetworkService 运行)。它工作正常。
但客户希望以受限用户身份运行服务。 (合理的要求)
根据MS docs StartInfo 只能由“完全信任”的用户使用。是否有另一种方法可以从 StartInfo 获取大部分信息而不被“完全信任”,或者配置一个在进程信息方面“完全信任”的受限用户?
【问题讨论】:
标签:
c#
windows
permissions
process
【解决方案1】:
听起来您混淆了两个正交的安全系统:Windows 用户安全和 .NET 代码访问安全 (CAS)。虽然使用 System.Diagnostics.Process 类需要 CAS 完全信任,但它不需要管理员用户权限,并且对于非管理员/受限用户运行完全信任 (wrt CAS) 应用程序非常可行。
也就是说,操作系统还对非管理员用户可以对进程执行的操作施加了限制,尤其是那些不在他们自己的帐户下运行的进程。根据您的代码尝试对进程执行的操作,在没有有效管理员权限的帐户下运行您的服务可能可行,也可能不可行。