Mat*_*vis 9 .net c# windows security windows-services
我有一个 Windows 服务,它代表使用单独的前端 UI 配置该服务的登录用户执行一些与网络相关的操作。UI和Windows服务使用socket接口进行通信,即UI向服务发送命令,服务向UI发送数据进行处理/显示。这种设置已经为我们工作了很多年。
最近,安全策略强制要求我们的 Windows 服务不能再作为LocalSystem运行,而必须作为LocalService运行。在大多数情况下,这是一个平静的变化。然而...
Windows 服务功能的一部分是在用户指定的位置创建日志文件并将数据写入该日志文件,直到用户告诉其停止。如果用户指定 C:\ 级别的目录(例如C:\MyLogs
),则 Windows 服务可以正常工作。但是,如果用户在她的 MyDocuments 文件夹中指定一个目录(例如,C:\Users\<username>\Documents\MyLogs
),则 Windows 服务将失败,并显示System.UnauthorizedAccessException :
对 <位置> 的访问被拒绝。
我花了一段时间,但我终于明白作为 LocalService 运行的 Windows 服务无法访问登录用户的配置文件文件夹,例如 MyDocuments、AppData 等。
有解决方法吗?
我想到了几个选项,但由于我并不精通 Windows 安全性,因此我的 Google 忍者技能非常薄弱,因为我不确定要搜索什么。这是我的几个具体问题。我希望社区能够提供任何指导。
小智 11
是的,您可以为该文件夹添加权限。右键单击文件夹 | 属性|安全|编辑|添加...
在“输入对象名称”文本框中输入“本地服务”,单击“检查名称”和“确定”,然后修改“本地服务”帐户/中的权限
归档时间: |
|
查看次数: |
6788 次 |
最近记录: |