前言
tomcat模式以是root用戶運行的,這樣就形成了一個很大的問題。tomcat擁有root的權限,若是tomcat進程被劫持,那麼惡意攻擊人員就會擁有系統的全部權限。因此須要修改掉tomcat的運行用戶。java
修改方法
正常啓動tomcat的方法是經過bin目錄下的catalina.sh或者bin目錄下的start.sh腳本進行啓動,可是這樣啓動的tomcat都是root用戶。tomcat
- 在bin目錄下還有一個daemon.sh的腳本,咱們能夠經過此腳本啓動tomcat,不過首先須要現指定具體的運行用戶,須要修改daemon.sh腳本中
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
的「TOMCAT_USER=「」爲指定用戶,此處爲tomcat。固然,tomcat用戶須要提早建立。同時須要修改JAVA_HOME=/usr/java/jdk1.8.0_101/
的"JAVA_HOME="爲jdk環境目錄;
- 此時經過./daemon.sh start啓動tomcat,結果發現報錯了,提示找不到jsvc。jsvc是用來讓以普通用戶身份運行的java項目獲取到一些root用戶纔有的權限,好比以低於1024的特權端口運行程序等。由於個人tomcat是直接解壓安裝的,不是編譯安裝的,一開始沒有在bin目錄下找到這個jsvc,後來發如今bin目錄下有一個commons-daemon-native.tar.gz文件,解壓此文件,而後直接運行./configure進行編譯,而後make進行編譯安裝以後發現生成了jsvc文件。直接把此文件拷貝到tomcat的bin目錄,而後執行./daemon.sh start,發現tomcat能夠啓動了,並且用戶就是必定的tomcat用戶。此時問題解決