2019-09-24 11:29:12 5323瀏覽
為什么要使用非root用戶運行tomcat?root用戶啟動tomcat有一個嚴重的問題,那就是tomcat具有root權限。這意味著你的任何一個頁面腳本(html/js)都具有root權限,所以可以輕易地用頁面腳本 修改整個硬盤里的文件,所以最好不要使用root啟動tomcat。本篇文章扣丁學堂Linux培訓小編就給大家分享一下Linux下非root用戶運行tomcat,下面隨小編來看看吧。
代碼如下:
# 正文:非root用戶運行tomcat
## tomcat安裝
略... 本文安裝目錄為 /opt/tomcat8
## 創建用戶
# 創建用戶組 dev
groupadd dev
# 創建用戶 tomcat
useradd -g dev -s /usr/sbin/nologin tomcat
說明:-s /usr/sbin/nologin 禁止該用戶登錄。
也可以在用戶創建之后執行
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
想了解更多內容的小伙伴可以登錄扣丁學堂官網咨詢。想要學好Linux開發小編給大家推薦口碑良好的扣丁學堂,扣丁學堂有專業老師制定的Linux學習路線圖輔助學員學習,此外還有與時俱進的Linux課程體系和Linux視頻教程供大家學習,想要學好Linux開發技術的小伙伴快快行動吧。扣丁學堂Linux技術交流群:422345477。
【關注微信公眾號獲取更多學習資料】 【掃碼進入Python全棧開發免費公開課】