gpt4 book ai didi

c# - 始终将服务作为 NetworkService 运行,即使在交互模式下也是如此

转载 作者:行者123 更新时间:2023-11-30 21:40:42 25 4
gpt4 key购买 nike

我有一个支持作为服务启动和交互模式的服务应用程序。我注册的服务是作为NetworkService用户执行的;交互模式以计算机管理员身份运行(普通用户无法访问该程序)。

现在,一些资源(例如文件)只对用户 NetworkService 可用。我能否以某种方式告诉程序将代码作为 NetworkService 运行,即使是由管理员启动的?

最佳答案

Now, some resources (e.g. files) are only available to the user NetworkService. Can I somehow tell the program to run the code as NetworkService, even if started by an administrator?

NetworkService是一个低权限帐户。管理员是高权限的。文件对 NS 可用但管理员不可用的情况有些不寻常。虽然管理员有权模拟大多数帐户(WindowsIdentity.Impersonate(),请参阅 Hans 链接以了解 NS 模拟问题),但我会重新审视这种情况并确保这确实是必要的。更有可能的是,有问题的文件可以而且应该是 ACL-ed。不同,以便 NS 和本地管理员都可以访问该文件。

还可以考虑将应用程序拆分为一个始终作为服务运行的服务组件,以及一个管理员可以调用的 UI 组件。让 UI 通过某种协议(protocol)与服务通信,例如。通过LRPC甚至 HTTP 的共享内存。

关于c# - 始终将服务作为 NetworkService 运行,即使在交互模式下也是如此,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44382631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com