我遇到了一个问题。我想使用“RunTime.exec()”在我的网络应用程序中运行cmd,而tomcat服务没有以管理员身份启动,也没有运行cmd的权限。 那么,如果有办法以管理员自动启动服务而不是手动,请单击tomcat.exe?
答案 0 :(得分:1)
您应始终牢记的一个原则是:您可以通过互联网访问的应用程序必须始终以最小权限运行可能。这完全(总是!)排除以管理员身份运行。如果有人在您的应用程序中发现安全问题,您不希望在顶部为他们提供免费的管理员权限。
即使是执行cmd
的权限也可以用于互联网可访问的流程。在一个强化的系统中,这将是另一个服务器的任务,使用您的网络服务器(tomcat)将连接到的不同权限(同样不是管理员)运行。
作为quickfix,您可能希望向运行tomcat的用户提供CMD执行权限。作为一个非常快速的修复程序,您可以更改tomcat服务配置 - 在此配置tomcat将作为服务运行(以及配置自动启动服务列表的位置),您还可以指定其运行的用户帐户。由于前两段中给出的理由,我没有给出确切的说明 - 我全心全意地建议你改变方法。