# 前言:爲何要使用非root用戶運行tomcathtml
root用戶啓動tomcat有一個嚴重的問題,那就是tomcat具備root權限。java
這意味着你的任何一個頁面腳本(html/js)都具備root權限,因此能夠輕易地用頁面腳本 修改整個硬盤裏的文件!shell
因此最好不要使用root啓動tomcat。tomcat
# 正文:非root用戶運行tomcatspa
## tomcat安裝unix
略... 本文安裝目錄爲 /opt/tomcat8code
## 建立用戶htm
# 建立用戶組 dev groupadd dev # 建立用戶 tomcat useradd -g dev -s /usr/sbin/nologin tomcat
說明:-s /usr/sbin/nologin 禁止該用戶登陸。blog
也能夠在用戶建立以後執行it
useradd -g dev
usermod -s | --shell /usr/sbin/nologin username
## tomcat配置
### 編譯安裝服務守護程序
# cd /opt/tomcat8/bin/ # 解壓 tar vzxf commons-daemon-native.tar.gz # cd /opt/tomcat8/bin/commons-daemon-1.0.15-native-src/unix/ # 安裝前的配置 及校驗 ./configure # 若未配置$java_home需指定JDK目錄 ./configure --with-java=/opt/jdk_1.7
若是出現以下錯誤提示,說明未設置JAVA_HOME變量
*** Java compilation tools *** checking for JDK location... configure: error: Java Home not defined. Rerun with --with-java=... parameter
若是看到如下信息,就能夠編譯/安裝了
*** All done *** Now you can issue "make"
# 編譯/安裝 make # 執行make後會生成一個jsvc文件,將其複製到tomcat的bin目錄 cp jsvc /opt/tomcat8/bin
### 修改啓動腳本文件
vi /opt/tomcat8/bin/daemon.sh
找到以下內容
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat # Set JAVA_HOME to working JDK or JRE # JAVA_HOME=/opt/jdk-1.6.0.22
修改TOMCAT_USER=tomcat,"tomcat"爲運行tomcat的用戶,本文建立的用戶即爲tomcat,因此不用修改。
去除JAVA_HOME前的註釋(即「#」號),並設置爲JDK的所在目錄(/opt/jdk_1.7)。
## 更改tomcat目錄權限
# 更改文件全部者 chown -R tomcat:dev /opt/tomcat8 # 賦予用戶執行權 chmod a+x /opt/tomcat8/bin/daemon.sh
# 附:tomcat命令
# 後臺運行 /opt/tomcat/bin/daemon.sh start # 前臺運行 /opt/tomcat/bin/daemon.sh run # 中止 /opt/tomcat/bin/daemon.sh stop
# 建立符號連接/軟鏈接 ln -s /opt/tomcat8/bin/daemon.sh /etc/init.d/tomcat8 # tomcat8添加至系統服務 chkconfig –-add tomcat8 #啓動/中止 service tomcat8 start/stop