C#服务权限问题 急急

Lionheartch 2015-09-01 02:43:36
我用C#写了一个服务,调用C++的exe访问一个nfs挂载并映射为本地磁盘的路径下(z:\TEMP\)的数据,但日志显示访问失败,既不能读也不能写也不能移动文件。去除服务直接用exe进行访问没有任何问题,现在估计是权限问题,我已经在服务的serviceProcessInstaller中尝试了NetworkService,LocalSystem,User安装了,但都无法成功操作(Z:\TEMP\)下的文件。请教大神,着急在线等
...全文
171 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
software_artisan 2015-09-02
  • 打赏
  • 举报
回复
这个不是权限问题,就是映射问题。改用绝对路径,不用映射盘符即可解决这个问题。
tcmakebest 2015-09-02
  • 打赏
  • 举报
回复
设置服务的登录帐号为超级用户呢
xian_wwq 2015-09-01
  • 打赏
  • 举报
回复
从Vista 开始Session 0 中只包含系统服务,其他应用程序 则通过分离的Session 运行,将服务与应用程序隔离是为了提高系统的安全性。 跟踪下服务中映射磁盘的操作,是不是映射操作失败了?
右斗者 2015-09-01
  • 打赏
  • 举报
回复
你尝试把service里面的Localizable设置成True
Forty2 2015-09-01
  • 打赏
  • 举报
回复
引用 2 楼 vipxuliang 的回复:
...已经映射到本地了...
映射只对当前用户有效。 当你手动运行时,你使用的是当前的登录用户帐号下的映射。 当你服务运行时,它用的是另外的一个帐号(比如System)。你登录用户可以用的映射,服务不一定能用。
Lionheartch 2015-09-01
  • 打赏
  • 举报
回复
没人解答了吗?急~
Lionheartch 2015-09-01
  • 打赏
  • 举报
回复
引用 1 楼 Forty2 的回复:
Z:\TEMP\ 意味着一个Share到本地的映射。 因此,服务里,除了要有权限,还有建立映射才能访问Z:\...,如果没有映射,只能访问类似\\MyServer\Temp形式的共享资源。
已经映射到本地了,在C++的exe中访问的也是 Z:\TEMP\ 都正常,使用服务启动C++exe后无法正常读取写入和移动数据。继续求教
Forty2 2015-09-01
  • 打赏
  • 举报
回复
Z:\TEMP\ 意味着一个Share到本地的映射。 因此,服务里,除了要有权限,还有建立映射才能访问Z:\...,如果没有映射,只能访问类似\\MyServer\Temp形式的共享资源。

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧