linux-非root用戶運行tomcat(jsvc)

前言:爲何要使用非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
複製代碼
相關文章
相關標籤/搜索