2015-06-14 621 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