我有一个服务(通常作为 NetworkService 运行)使用 StartInfo 检索进程信息。它工作正常。
但是客户希望以受限用户身份运行该服务。 (合理的要求)
根据 MS docs StartInfo 只能由“完全信任”的用户使用。是否有另一种方法可以在不“完全信任”的情况下从 StartInfo 获取大部分信息,或者配置一个在进程信息方面“完全信任”的受限用户?
最佳答案
听起来您混淆了两个正交安全系统:Windows 用户安全和 .NET 代码访问安全 (CAS)。虽然使用 System.Diagnostics.Process 类需要 CAS 完全信任,但它不需要管理员用户权限,并且对于非管理员/受限用户来说运行完全受信任的 (wrt CAS) 应用程序是非常可行的。
也就是说,操作系统还对非管理员用户可以对进程执行的操作施加了限制,尤其是不在他们自己的帐户下运行的进程。根据您的代码尝试对流程执行的操作,在没有有效管理员权限的帐户下运行您的服务可能可行也可能不可行。
关于c# - StartInfo 的替代权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4919797/