通常情况下,在配置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)

Centos7下配置Tomcat7以指定(非root)身份运行的更多相关文章

  1. Tomcat非root身份运行制作Linux系统服务管理

    理论知识怱略,马上开始实战 一.首先准备好tomcat 启动.关闭.重启Shell脚本: 以下Shell脚本主要修改值 tomcatPath:tomcat目录 runUser:以哪个身份运行 此处测试 ...

  2. CentOS7下配置Tomcat以APR模式+Tomcat Native运行

    在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服务器的 ...

  3. Centos6.3 下使用 Tomcat-6.0.43 非root用户 jsvc模式部署 生产环境 端口80 vsftp

    一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...

  4. Centos6.3 下使用 Tomcat-6.0.43 非root用户 部署 生产环境 端口转发方式

    一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...

  5. SVN CentOS7 下配置svn的安装及基础配置介绍

    CentOS7 下配置svn的安装及基础配置介绍 by:授客 QQ:1033553122 目录 一. 二. 三. 四. 五. 六. 七. 一.      实践环境 CentOS 7操作系统(CentO ...

  6. Linux下非root用户运行Tomcat

    PS:Linux下使用非root用户运行tomcat的原因 由于项目需求,也由于root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限. 这意味着你的任何一个页面脚本(htm ...

  7. Linux(CentOS7)下配置多个tomcat

    记录 Linux(CentOS7) 下配置多个 tomcat 的操作过程. 一.下载tomcat 前提:安装配置好jdk环境,未配置可参考Linux(CentOS7)下安装jdk1.8. 从 tomc ...

  8. 设置开机启动时指定非ROOT用户执行相应的脚本

    [root@MSJTVL-MJSP-A01 sm01]# vim /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *afte ...

  9. Win8.1系统下配置搭建IIS8.5+PHP5.5.4运行环境

    原文 Win8.1系统下配置搭建IIS8.5+PHP5.5.4运行环境 很多人喜欢用linux搭建php网页语言运行环境,但由于linux高度自定义化,经常需要root运行命令,略显高端,相对应的微软 ...

随机推荐

  1. C#基础指针类型

    在C#的不安全的代码书写中,类型可以是指针类型.值类型或引用类型. 指针类型声明具有下列形式之一:   type* identifier; void* identifier; //allowed bu ...

  2. rnn lstm

    资料收集:https://github.com/kjw0612/awesome-rnn 代码+例子+物理意义:https://iamtrask.github.io/2015/11/15/anyone- ...

  3. Web 仪表盘

    /*********************************************************************** * Web 仪表盘 * 说明: * 之前很久,都想知道 ...

  4. 使用SCP在命令行传输文件

    下载远程服务器上的文件 scp   root@10.0.10.10:/home/user/download.txt  ./download.txt 上传文件到远程服务器 scp  ./upload.t ...

  5. [转载] C++ string, const char*, char* 之间互相转换

    1, string转const char* 类型 string str = "abcdef"; const char* con_str = string.c_str() 2, co ...

  6. Sprint第二个冲刺(第五天)

    一.Sprint 计划会议: 容杰龙继续完善昨天的SQLite修改数据操作,待全部操作完善后交给炜杰进行布局规范和整合. 二.Sprint周期:   看板: 燃尽图:

  7. input type=file

    (1)首先来说一下,如何让 <input type='file' >成为你想要的模样. 最简单的方法就是在让<input type='file' >的透明度为0(完全透明),然 ...

  8. DataTransfer(setData()方法)

    DataTransfer对象专门用来存储拖放时要携带的数据,它可以被设置为拖放事件对象的DataTransfer属性.---把拖动的数据存入其中setData有两个参数:1.第一个参数为携带数据的数据 ...

  9. QAQ

    贴吧怎么了最近多了一些脑残帖子 回答完问题你追我 ? 你追你mb你车费都凑不够. 答着答着你也许就哭了 我哭你mb 老子脑袋又没病 . 英国最最虐心的调查 ,我虐你mb还英国 你出过省吗? 晚上回家 ...

  10. leetcode 133. Clone Graph ----- java

    Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. OJ's ...