2015-06-14 620 views
0

我遇到了问题。我想使用“RunTime.exec()”在我的web应用程序中运行cmd,而tomcat服务没有以管理员身份启动并且没有权限运行cmd 。 所以,如果有一种方法来启动服务作为管理员自动但不手动点击tomcat.exe?如何以管理员身份启动tomcat服务

回答

1

有一个原则,你将永远记住:你可以从互联网上达到应用程序必须始终与作为最小权限地运行。这完全(总是)排除作为管理员运行。如果有人在您的应用程序中发现安全问题,您不希望为他们提供免费的管理员权限。

即使允许执行cmd对于可通过网络访问的流程也是有问题的。在一个强化的系统中,这将成为另一个服务器的任务,运行时使用不同的权限(同样,不是管理员),您的web服务器(tomcat)将连接到该服务器。

作为quickfix,您可能希望为您的tomcat运行的用户提供CMD执行权限。作为一个非常快速的修复,您可以更改tomcat服务配置 - 您可以在其中配置tomcat作为服务运行(以及配置自动启动服务列表的位置),您还可以指定它运行的用户帐户。我没有给出前两段给出的原因的确切说明 - 我完全建议你改变你的方法。

+0

非常感谢。真的,作为管理员运行tomcat服务并不是一种安全的方式。它是一个运行本地网络的应用程序。我尝试登录一些具有CMD执行权限的用户,甚至包含我自己的用户(作为管理员)用于tomcat服务,但它也无法工作。我只发出手动单击tomcat.ext确保cmd工作... – Yong