Ubuntu下配置Tomcat以指定(非root)身份运行

My Blog:http://www.outflush.com/

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

本文依赖的环境:

  • Ubuntu(其实大部分同样适用于CentOS)
  • JVM(安装并已配置好环境变量)
  • gcc、make等编译工具
  • JAVA_HOME=/usr/lib/jvm/jdk1.7.0_55
  • CATALINA_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/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

# 如果$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)

# 设置开机自启动
update-rc.d tomcat7 defaults

# 取消开机自启动
update-rc.d tomcat7 remove


参考资料:http://www.jdiy.org/read.jd?id=y0haaynq1w

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值