【发布时间】:2012-10-16 12:57:42
【问题描述】:
我有一个以普通用户身份运行的用户界面。
用户界面通过 tcp/ip 与作为 Windows 服务运行的服务器组件进行通信。
服务作为本地系统运行。
我的问题是该服务在“ProgramData\MyApp”下创建了新文件夹。这些新创建的文件和文件夹无法由普通用户打开,因为它们是由“系统”创建的。
在设置过程中,目录“ProgramData\MyApp”的权限已经更改,因此每个人都拥有完全访问权限。但它不会被服务创建的子文件夹继承。
服务是否应该更改创建的文件和文件夹的权限?或者我可以准备“ProgramData\MyApp”文件夹让每个人都可以访问新创建的文件和文件夹吗?
已修复:我的问题是从临时目录复制了权限错误的文件。临时目录的权限已被继承...
【问题讨论】:
-
Windows 服务和用户界面应用程序是否在同一台计算机上运行?
-
@Benjamin Window 服务正在更新文件夹的权限。它可能会一次又一次地创建该文件夹。所以检查你的代码。 sourcedaddy.com/windows-xp/…
-
@StefanP.:是的,他们在同一台计算机上。因此我可以直接打开文件。无需通过 tcp 发送文件。尽管如此,这也是一种解决方法。 RPC是通过tcp完成的,文件传输是直接的。
-
@NipunAmbastha:该文件夹只创建一次。检查目录是否存在。但如果它不存在,服务会创建它。
标签: c# windows permissions windows-services