c# - StartInfo 的替代权限

标签 c# windows permissions process

我有一个服务(通常作为 NetworkService 运行)使用 StartInfo 检索进程信息。它工作正常。

但是客户希望以受限用户身份运行该服务。 (合理的要求)

根据 MS docs StartInfo 只能由“完全信任”的用户使用。是否有另一种方法可以在不“完全信任”的情况下从 StartInfo 获取大部分信息,或者配置一个在进程信息方面“完全信任”的受限用户?

最佳答案

听起来您混淆了两个正交安全系统:Windows 用户安全和 .NET 代码访问安全 (CAS)。虽然使用 System.Diagnostics.Process 类需要 CAS 完全信任,但它不需要管理员用户权限,并且对于非管理员/受限用户来说运行完全受信任的 (wrt CAS) 应用程序是非常可行的。

也就是说,操作系统还对非管理员用户可以对进程执行的操作施加了限制,尤其是不在他们自己的帐户下运行的进程。根据您的代码尝试对流程执行的操作,在没有有效管理员权限的帐户下运行您的服务可能可行也可能不可行。

关于c# - StartInfo 的替代权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4919797/

相关文章:

c# - 为什么 Task 实现了 IAsyncResult,但不包含 AsyncWaitHandle 成员?

c# - Avalonia UI 弹出窗口覆盖

windows - 批处理程序以检查进程是否存在

android - Phonegap:如果第一次被拒绝,请再次请求许可

php mkdir 不遵守我正在使用的 chmod 规则

java - 许可 - android.permission.INTERNET 是否特定于特定类型的互联网连接(如 2G、3G)?

c# - 最近邻分类算法的 NumPy 实现以完全相同的方式对所有内容进行分类

C#使用MYSQL ExecuteScalar()类型错误

windows - 提取文件的一部分并存储在批处理文件中的变量中

c# - 使图像的 ObservableCollection 很好地显示在屏幕上