【问题标题】:Can't run a service under an account which has no password? [closed]无法在没有密码的帐户下运行服务? [关闭]
【发布时间】:2009-06-26 07:46:14
【问题描述】:

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

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

【问题讨论】:

    标签: winapi windows-services


    【解决方案1】:

    默认情况下,所有现代版本的 Windows 都有一个本地安全策略,该策略限制使用空白密码的用户只能在本地控制台登录。换句话说,密码为空的用户必须在计算机上才能登录。用户无法以服务、批处理用户、网络等方式登录。

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 是的,我使用的是 XP。所以你的意思是XP有这样的限制?我没有使用“LocalSystem”帐户,所以恐怕我无法启用“allowinteraction with desktop”选项。该帐户仅用于测试,因此我没有为其创建密码。
      • 我相信它确实有这个限制。我确实尝试在网上搜索以支持它,但无法提出任何具体的建议。无论如何,我建议您创建一个密码。
      • 斯蒂芬的回答证实了这一点,给出了解决方法,以及背后的原因
      • 我有充分的理由。我想以与远程服务器域用户名相同的名称启动 httpd,以便我可以使 PHP 访问使用该远程服务器域用户连接的网络驱动器。此域用户没有密码,我无法触摸该远程用户。但是,我尝试了斯蒂芬的答案,但它不起作用。我必须重新启动 Windows 吗?
      猜你喜欢
      • 2014-04-13
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 2019-02-12
      • 2016-08-08
      • 1970-01-01
      • 2013-03-09
      • 2016-07-03
      相关资源
      最近更新 更多