linux下非root用戶運(yùn)行tomcat
# 前言:為什么要使用非root用戶運(yùn)行tomcat
root用戶啟動(dòng)tomcat有一個(gè)嚴(yán)重的問(wèn)題,那就是tomcat具有root權(quán)限。
這意味著你的任何一個(gè)頁(yè)面腳本(html/js)都具有root權(quán)限,所以可以輕易地用頁(yè)面腳本 修改整個(gè)硬盤(pán)里的文件!
所以最好不要使用root啟動(dòng)tomcat。
# 正文:非root用戶運(yùn)行tomcat ## tomcat安裝 略... 本文安裝目錄為 /opt/tomcat8 ## 創(chuàng)建用戶 # 創(chuàng)建用戶組 dev groupadd dev # 創(chuàng)建用戶 tomcat useradd -g dev -s /usr/sbin/nologin tomcat 說(shuō)明:-s /usr/sbin/nologin 禁止該用戶登錄。 也可以在用戶創(chuàng)建之后執(zhí)行 useradd -g dev usermod -s | --shell /usr/sbin/nologin username ## tomcat配置 ### 編譯安裝服務(wù)守護(hù)程序 # cd /opt/tomcat8/bin/ # 解壓 tar vzxf commons-daemon-native.tar.gz # cd /opt/tomcat8/bin/commons-daemon-1.0.15-native-src/unix/ # 安裝前的配置 及校驗(yàn) ./configure # 若未配置$java_home需指定JDK目錄 ./configure --with-java=/opt/jdk_1.7 如果出現(xiàn)如下錯(cuò)誤提示,說(shuō)明未設(shè)置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 # 執(zhí)行make后會(huì)生成一個(gè)jsvc文件,將其復(fù)制到tomcat的bin目錄 cp jsvc /opt/tomcat8/bin ### 修改啟動(dòng)腳本文件 vi /opt/tomcat8/bin/daemon.sh 找到如下內(nèi)容 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"為運(yùn)行tomcat的用戶,本文創(chuàng)建的用戶即為tomcat,所以不用修改。 去除JAVA_HOME前的注釋(即“#”號(hào)),并設(shè)置為JDK的所在目錄(/opt/jdk_1.7)。 ## 更改tomcat目錄權(quán)限 # 更改文件所有者 chown -R tomcat:dev /opt/tomcat8 # 賦予用戶執(zhí)行權(quán) chmod a+x /opt/tomcat8/bin/daemon.sh # 附:tomcat命令 # 后臺(tái)運(yùn)行 /opt/tomcat/bin/daemon.sh start # 前臺(tái)運(yùn)行 /opt/tomcat/bin/daemon.sh run # 停止 /opt/tomcat/bin/daemon.sh stop # 創(chuàng)建符號(hào)鏈接/軟連接 ln -s /opt/tomcat8/bin/daemon.sh /etc/init.d/tomcat8 # tomcat8添加至系統(tǒng)服務(wù) chkconfig –-add tomcat8 #啟動(dòng)/停止 service tomcat8 start/stop
總結(jié)
以上所述是小編給大家介紹的linux下非root用戶運(yùn)行tomcat,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言!
相關(guān)文章
程序中獲取linux系統(tǒng)啟動(dòng)時(shí)間方法
需要在應(yīng)用程序獲取系統(tǒng)的啟動(dòng)時(shí)間,通過(guò)sysinfo中的uptime可以計(jì)算出系統(tǒng)的啟動(dòng)時(shí)間,下面介紹一下獲取方法,大家參考使用吧2014-01-01Shell腳本實(shí)現(xiàn)根據(jù)文件的修改時(shí)間來(lái)分類文件
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)根據(jù)文件的修改時(shí)間來(lái)分類文件,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-07-07