• Centos7下配置Tomcat7以指定(非root)身份运行


    通常情况下,在配置Tomcat生产环境时,通常会配置Tomcat以特定的身份运行(非root),这样有利于提高安全性,防止网站被黑后的进一步权限提升。

    本文依赖的环境:

    Ubuntu(其实大部分同样适用于CentOS)JVM(安装并已配置好环境变量)gcc、make等编译工具JAVA_HOME=/usr/lib/jvm/jdk1.7.0_55CATALINA_HOME=/usr/local/apache-tomcat-7.0.53运行Tomcat的用户名为tomcat

    首先需要到Apache Tomcat官网下载最新版Tomcat

    Apache Tomcat:http://tomcat.apache.org

    下载好安装包,解压到/usr/local/apache-tomcat-7.0.53下

    # 进入Tomcat安装目录下的bin目录
    cd /usr/local/apache-tomcat-7.0.53/bin
    
    # 解压commons-daemon-native.tar.gz
    tar zxvf commons-daemon-native.tar.gz
    
    cd commons-daemon-native-src/unix
    
    # 这里需要gcc、make等编译工具,如果没有指定JAVA_HOME环境变量,则需要 --with-java= 参数指定jdk目录
    ./configure
    
    # 上一步成功后,make
    make
    
    # make后,会在当前文件夹下生成一个名为 jsvc 的文件,将其复制到$CATALINA_HOME/bin目录
    cp jsvc ../../
    
    # 添加一个用来运行Tomcat的用户
    useradd tomcat -M -d / -s /usr/sbin/nologin
    
    # 回到$CATALINA_HOME/bin目录下
    cd ../../
    
    # 接下来便是修改$CATALINA_HOME/bin目录下的 daemon.sh 文件
    # 设置其中的TOMCAT_USER=tomcat,JAVA_HOME=/usr/lib/jvm/jdk1.7.0_55

    test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
    # Set JAVA_HOME to working JDK or JRE
     JAVA_HOME=/usr/local/java/jdk1.7.0_79
    

      以上是修改后效果

    # 如果$CATALINA_HOME/bin下的*.sh文件没有运行权限,则为其添加运行权限 chmod +x *.sh # 设置$CATALINE_HOME文件夹及其所有子文件Owner为tomcat chown -R tomcat:tomcat /usr/local/apache-tomcat-7.0.53 # 启动Tomcat daemon.sh start

    设置Tomcat为Service

    # 创建 $CATALINA_HOME/bin/daemon.sh 的一个链接到 /etc/init.d/ 下,service名为tomcat7
    ln -s /usr/local/apache-tomcat-7.0.53/bin/daemon.sh /etc/init.d/tomcat7
    
    # 启动Tomcat
    /etc/init.d/tomcat7 start
    # 或者
    service tomcat7 start

    设置Tomcat开机自启动 (前提是已经设置Tomcat为Service)

  • 相关阅读:
    (转载)一个好的软件开发人员的素质
    (转载)在Visual Studio 11 HTML5,CSS3和JavaScript的改进
    帧同步和状态同步
    3线性表
    1数据结构释义
    2数据结构中的算法
    CSharp错误记录
    pythondocx
    寒假学习进度
    寒假学习进度
  • 原文地址:https://www.cnblogs.com/jifeng/p/4970566.html
Copyright © 2020-2023  润新知