Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winapi Can';t在没有密码的帐户下运行服务?_Winapi_Windows Services - Fatal编程技术网

Winapi Can';t在没有密码的帐户下运行服务?

Winapi Can';t在没有密码的帐户下运行服务?,winapi,windows-services,Winapi,Windows Services,如果服务的“登录”帐户有密码,我可以正确启动服务。但是,当我删除用户密码并重试时,出现了错误: “错误1069:由于登录失败,服务未启动” 服务不能在密码为空的帐户下运行吗?什么版本的Windows?我相信,至少在Windows XP下,一个服务不能以用户的身份运行,密码为空 如果您有空闲时间,可以尝试在服务上设置“允许与桌面交互”和为用户设置“允许登录服务” 但是我认为你最好有个密码,有几个原因。为什么不想要一个呢?默认情况下,所有现代版本的Windows都有本地安全策略,该策略限制密码为空的

如果服务的“登录”帐户有密码,我可以正确启动服务。但是,当我删除用户密码并重试时,出现了错误: “错误1069:由于登录失败,服务未启动”


服务不能在密码为空的帐户下运行吗?

什么版本的Windows?我相信,至少在Windows XP下,一个服务不能以用户的身份运行,密码为空

如果您有空闲时间,可以尝试在服务上设置“允许与桌面交互”和为用户设置“允许登录服务”


但是我认为你最好有个密码,有几个原因。为什么不想要一个呢?

默认情况下,所有现代版本的Windows都有本地安全策略,该策略限制密码为空的用户仅在本地控制台登录。换句话说,密码为空的用户必须在计算机上才能登录。用户不能作为服务、批处理用户、通过网络等登录

这可以通过在本地策略->安全选项下更改策略来更改。或者将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa下的LimitBlankPasswordUse值更改为零


但是,这一点非常重要,这将在您的安全中设置一个严重的漏洞,因为使用空白密码的用户现在可以远程登录,而空白密码很容易被猜测。我想不出任何理由让服务在没有密码的帐户下运行,所以我的建议是-不要这样做。

是的,我正在使用XP。你是说XP有这样的限制?我没有使用“LocalSystem”帐户,因此我恐怕无法启用“AllowerAction with desktop”选项。该帐户只用于测试,所以我没有为它创建密码。我相信它确实有这个限制。我确实试着在网上搜索来备份它,但是找不到任何具体的东西。无论如何,我还是建议创建一个密码。斯蒂芬的回答证实了这一点,给出了一个解决办法,而它背后的理由是有充分理由的。我希望启动httpd作为一个帐户,使用与远程服务器域用户名相同的名称,这样我就可以让PHP访问一个网络驱动器,并在其中使用该远程服务器域用户进行连接。该域用户没有密码,我无法触摸该远程用户。然而,我尝试了斯蒂芬的答案,但它不起作用。我必须重新启动Windows吗?