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的username为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
Ubuntu下配置Tomcat以指定(非root)身份执行的更多相关文章
- 设置开机启动时指定非ROOT用户执行相应的脚本
[root@MSJTVL-MJSP-A01 sm01]# vim /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *afte ...
- ubuntu下配置tomcat
配置tomcat 1.解压 tar -zxvf apache-tomcat-7.0.53.tar.gz 2.修改/bin/catalina.sh cygwin=falsedarwin=falseos4 ...
- ubuntu 下配置Web服务器
ubuntu 下配置Web服务器 1.切换管理员身份 终端/文本界面输入命令: su 根据提示输入密码 注: 如果不能使用su 点击查看如何启用su2.安装MySQL5 apt-get install ...
- Centos6.3 下使用 Tomcat-6.0.43 非root用户 jsvc模式部署 生产环境 端口80 vsftp
一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...
- Centos6.3 下使用 Tomcat-6.0.43 非root用户 部署 生产环境 端口转发方式
一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...
- Linux下配置Tomcat服务器
Linux下配置Tomcat服务器和Windows下其实差不多,可以去官网下载安装包释放或者在线下载,只是当时下载的windows.zip文件,现在下载.tar.gz格式的即可,下面使用命令行的方式安 ...
- Ubuntu下配置tftp服务
Ubuntu下配置tftp服务 1.安装TFTP软件 sudo apt-get install tftp-hpa tftpd-hpa tftp-hpa是客户端,tftpd-hpa是服务器端 2.建立t ...
- [转]Ubuntu下配置NFS服务
[转]Ubuntu下配置NFS服务 http://blog.163.com/liu8821031%40126/blog/static/111782570200921021253516/ Table ...
- Linux下配置tomcat+apr+native应对高并发
摘要:在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服 ...
随机推荐
- 5.1 qbxt 一测 T2
求和[问题描述] 组合数 C(n,m)是从 n 个物品中取 m 个的方案数. C(n,m)=(n!)/(m!(n-m)!) 斐波那契数列 F 满足,F[0]=F[1]=1,n≥2 时 F[n]=F[n ...
- Python3使用PyMySQL操作数据库
1. 安装PyMySQL pip install PyMySQL 关于PyMySQL的详细内容可以查看官方文档 Github 2. 创建表 在某个数据库内,使用以下指令建表 CREATE TABLE ...
- openwrt procd分析
procd源码中有很多个main入口,有点懵,不知道procd之外的其他程序是干嘛的.先找资料大概了解了一下procd是什么,然后是守护进程,再然后是openwrt启动流程等等. openwrt启动流 ...
- iPhone模拟定位(非越狱修改手机定位)
剩下的事情就是build一下到手机,那么,就可以看到神奇的效果! 本次带来一个简单又好玩的实用功能,比如定位装逼(共享定位非分享可选那种),又或者定位打卡之类,由于改变的是设备级别的定位,本设备所 ...
- CSS3---媒体查询与响应式布局
1. 值 设备类型 All 所有设备 Braille 盲人用点字法触觉回馈设备 Embossed 盲文打印机 Handheld 便携设备 Print 打印用纸或打印预览视图 Projection 各种 ...
- Django框架基础知识14-类视图
MTV view视图 wsgi函数 def index(request): .... return HttpResponse() 特定的HTTP方法.get,post可以定义单独的方法 继承,多继承, ...
- 剑指Offer(书):实现单例模式
题目:设计一个类,我们只能生成该类的一个实例. 生成一个单例模式,有下列几种常用解法. 1.双重检查锁. 当运行在多线程环境中,此方法可以正常实现单例模式. public class Singleto ...
- 南阳理工 58 最少步数 (DFS)
描述 这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0, ...
- sql中getdate()&convert的使用
1,sql中getdate()函数的使用: getdate()函数从SQL Server中返回当前的时间和日期,如: insert into T3(ID,AddTime) values(,GETDAT ...
- 大数据学习——linux常用命令(一)
一.基本日常操作命令 1 查看当前所在工作目录的全路径 pwd 2 查看当前系统的时间 date 设置时间,date -s"2018-11-12" 修改时间后,需要写入硬件bios ...