我有一项服务需要以本地系统身份运行才能正常工作。如果我以域用户或本地管理员身份运行它,它就无法正常工作。但是我需要对资源的网络访问权限,而这只有在以域用户身份运行它时才会发生。我尝试授予对网络资源的访问权限,但machinename$
没有成功。是否可以向域用户授予与本地系统相同的权限?如果可以,该怎么做?
编辑
更准确地说,我能够以普通用户身份运行该服务。但是,依赖该服务的程序无法加载所有需要的进程,而作为本地系统时我可以。但是,作为本地系统,该程序无法访问网络上的共享。
答案1
正确的问题是:为什么你的服务需要作为系统运行?
基本上,除非您构建某种 RPC 代理或更改程序以能够模拟域用户,否则您根本无法授予系统帐户对域资源的访问权限。
因此,请尝试以下操作:下载并运行进程监视器(进程监控),将其设置为注册所有相关进程的活动并以本地用户身份运行它们。此后,检查日志中是否有任何拒绝访问(错误代码 5)的结果并返回结果。此时,我们可以开始考虑如何通过 ACL 更改来修复它或绕过它。
答案2
您是否已配置“以服务身份登录”,然后将其添加到所需的组中?我一直将其用于服务器上的服务。
http://technet.microsoft.com/en-us/library/cc739424(v=ws.10).aspx
答案3
我会尝试以域用户身份登录并以本地系统身份运行该服务。否则,您可以尝试以本地用户身份登录并授予他访问您的网络资源的权限。
答案4
无论如何,Speak to 已为您提供了该服务。正如 Stephanie 已经指出的那样,该服务可能不需要作为本地系统运行。您没有详细说明该服务是什么,或者它做什么,但这可能是您的根本问题。修复此问题是正确的做法,削弱安全性以使其正常工作是您可以做的最糟糕的事情,并且出于对小猫的爱,请不要使用域管理员权限运行它(我从您的评论中看到您已经尝试过),如果该服务很容易被利用怎么办?您可能刚刚授予某人对整个 AD 的完全访问权限,这可能会让您倒霉。
我假设网络资源是文件共享?只要计算机是域成员,如果服务以本地系统运行,授予计算机帐户对资源的访问权限应该可以正常工作,但您需要确保同时考虑共享和 NTFS 权限。您可以通过启动以本地系统运行的命令提示符(使用 psexec)来测试这是否有效,然后尝试使用 net use 映射驱动器。如果您设置正确,它应该可以工作。