Tomcat 服务使用“本地服务”帐户安装

Posted

技术标签:

【中文标题】Tomcat 服务使用“本地服务”帐户安装【英文标题】:Tomcat Service gets installed with "Local Service" account 【发布时间】:2020-05-12 17:51:59 【问题描述】:

发布 Tomcat 8.0.53,当我安装 Tomcat(9.0.30 或 8.5.50)并将其安装为服务(使用 service.bat)时,它会被安装但“登录”为“本地服务”而不是“本地系统帐户”。

这可以在windows的服务下看到。

因此,当我运行服务时,应用程序无法读取文件。

如果我手动转到服务,打开我的服务的属性,然后将登录更改为“本地系统”并保存,一切正常。

    为什么 8.0.53 之后的 tomcat 版本会出现这种情况? 如何安装 tomcat 以便将“登录身份”设置为“LocalSystem”而不是“LocalService”?如8.5 和9.0 文档中所述,我无法使用--User--Password 等附加参数来执行此操作。

【问题讨论】:

【参考方案1】:

这似乎是以下问题的结果:55969 和 63310。 Commons Daemon 1.2.0 的更新似乎是原因,并且似乎无法在安装过程中修改此设置。

但是,之后可以在管理员命令提示符下使用以下命令将其设置为本地系统:

sc config Tomcat8 obj=LocalSystem

【讨论】:

给定的解决方法工作正常!我只是没有时间回答我的问题。此外,由于在读取文件时只有一个文件存在问题,因此我使用 icacls/cacls windows 命令更改了文件权限,然后即使 tomcat 使用 LocalService 帐户作为窗口服务运行,该应用程序也能正常工作。 很高兴它也对你有用!感谢您将此标记为答案。我发现了更多信息,所以我会更新我的答案。【参考方案2】:

希望 Google 能采纳这个,以便下一个用户可以在 3 小时内更快找到这个...

对我来说,这个错误通过 Chrome 控制台消息表现出来:

net::ERR_CONTENT_LENGTH_MISMATCH 200

...只有在我的 html 使用相对路径调用了一些 css 后才引发此错误。

如上图,通过将windows服务改成可以与桌面交互的本地系统账户解决了问题。

是否有任何 *** 超级用户知道如何将该消息放入上面的问题标题中?这就是当 Tomcat “无法读取文件”时 Chrome 显示的内容。

【讨论】:

以上是关于Tomcat 服务使用“本地服务”帐户安装的主要内容,如果未能解决你的问题,请参考以下文章

Windows 7无法启动Diagnostic Policy Service 怎么办?

没有公网IP,如何快捷访问本地tomcat服务器?

关于tomcat本地服务无法启动

从本地服务帐户运行BitsTransfer

windows 10 系统服务列表

iOS开发网络篇—搭建本地服务器