tomcat普通用戶運行


威脅:

通常情況下,在配置Tomcat生產環境時,通常會配置Tomcat以特定的身份運行(非root),這樣有利於提高安全性,防止網站被黑后的進一步權限提升。

 

安裝jdk請參考:http://53cto.blog.51cto.com/9899631/1697368

安裝tomcat請參考:http://53cto.blog.51cto.com/9899631/1697386

 

1, 進入Tomcat安裝目錄下的bin目錄

cd /usr/local/apache-tomcat-8.0.30/bin

2,解壓commons-daemon-native.tar.gz

tar zxvf commons-daemon-native.tar.gz
cd commons-daemon-native/unix

3, 這里需要gccmake等編譯工具,如果沒有指定JAVA_HOME環境變量,則需要 --with-java= 參數指定jdk目錄

./configure
make

 

4,   make后,會在當前文件夾下生成一個名為 jsvc 的文件,將其復制到$CATALINA_HOME/bin目錄

cp jsvc /usr/local/apache-tomcat-8.0.30/bin

 

 5,  添加一個程序用戶用來運行Tomcat

useradd -M -d / -s /usr/sbin/nologin tomcat

 

6,修改$CATALINA_HOME/bin目錄下的 daemon.sh 文件(如果已配置好jdk環境變量可以忽略此步驟)

設置其中的

修改啟動腳本文件

vi /opt/tomcat6/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的用戶名,去除JAVA_HOME前的注釋(即“#”號),並設置為JDK的所在目錄。


#chkconfig --add tomcat
#chkconfig tomcatd on

daemon.sh文件靠前位置添加這兩行,少了這2行 無法支持chkconfig
# chkconfig: - 96 35   
# description: Starts and stops tomcat   

 ln -s /opt/tomcat/bin/daemon.sh /etc/init.d/tomcat       將啟動腳本軟鏈接到/etc/init.d/目錄下方便以后啟動服務

7, 如果$CATALINA_HOME/bin下的*.sh文件沒有運行權限,則為其添加運行權限

chmod +x *.sh

8 ,  設置$CATALINE_HOME文件夾及其所有子文件Owner為tomcat

chown -R tomcat:tomcat /usr/local/apache-tomcat-8.0.30

 9,  啟動Tomcat

daemon.sh start

[root@bogon bin]# ./daemon.sh -help
Unknown command: `-help'
Usage: daemon.sh ( commands ... )
commands:
  run               Start Tomcat without detaching from console
  start             Start Tomcat
  stop              Stop Tomcat
  version           What version of commons daemon and Tomcat
                    are you running?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM