首页 > 代码库 > Ubuntu下配置Tomcat以指定(非root)身份运行
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。