Tomcat是一個世界上廣泛使用的支持JSP和servlets的Web服務器它在JAVA運行時上能夠很好地運行並支持Web應用部署會因為設置不當造成災難性的後果在Tomcat默認安裝Tomcat作為一個系統服務運行如果沒有將其作為系統服務運行缺省地幾乎所有Web服務器管理員都是將其以Administrator權限運行這兩種方式都允許Java運行時訪問Windows系統下任意文件夾中的任何文件缺省情況下Java運行時根據運行它的用戶授予安全權限當 Tomcat以系統管理員身份或作為系統服務運行時Java運行時取得了系統用戶或系統管理員所具有的全部權限這樣一來Java運行時就取得了所有文件夾中所有文件的全部權限並且Servlets(JSP在運行過程中要轉換成Servlets)取得了同樣的權限所以Java代碼可以調用Java SDK中的文件API列出文件夾中的全部文件刪除任何文件最大的危險在於以系統權限運行一個程序當任一Servlets含有如下代碼baefddYsJkr Runtime rt = RuntimegetRuntime();
rtexec(c:\SomeDirectory\SomeUnsafeProgramexe)其服務是以system權限啟動根據權限最小安全原則降低了腳本所獲取的操作本地系統權限此操作如下
新建一個帳戶
用ITOMCAT_計算機名建立一個普通用戶
為其設置一個密碼
保證密碼永不過期(Password Never Expires)被選中
修改Tomcat安裝文件夾的訪問權限
選定環境參數CATALINA_HOME或TOMCAT_HOME指向的Tomcat安裝文件夾
為ITOMCAT_計算機名用戶賦予讀寫執行的訪問權限
為ITOMCAT_計算機名用戶賦予對WebApps文件夾的只讀訪問權限
如果某些Web應用程序需要寫訪問權限單獨為其授予對那個文件夾的寫訪問權限
Tomcat作為系統服務
到控制面板選擇管理工具然後選擇服務
找到Tomcat比如Apache Tomcatexe等等打開其屬性
選擇其登錄(Log)標簽
選擇以…登錄(Log ON Using)選項
鍵入新建的ITOMCAT_計算機名用戶作為用戶名
輸入密碼
重啟機器
在DOS窗口下運行Tomcat步驟
在開始按鈕的運行框中鍵入CMD以打開一個DOS窗口
鍵入RunAs /userITOMCAT_計算機名 CMDexe命令
在詢問ITOMCAT_計算機名用戶的密碼時輸入設置的密碼
這將打開一個新的DOS窗口
在新開的DOS窗口中轉換到Tomcat的bin文件夾內
鍵入catalina run命令
關閉第一個DOS窗口
設置一下程序
CMDEXE NETEXE ATTRIBEXE AtEXE NETEXE FTPEXE TELNETEXE COMMANDCOM CAclsEXE netstatexe;system 全部權限 其它用戶無權限
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28081.html