配置Tomcat以指定的身份(非root)运行
本文依赖的环境:
CentOS(大部分内容适用于其他Linux发行版)
已安装并配置好JVM环境
已安装并配置好gcc、make等编译工具
1. 下载Tomcat安装包并解压缩
cd /opt
wget http://www.us.apache.org/dist/tomcat/tomcat-6/v6.0.44/bin/apache-tomcat-6.0.44.tar.gz
tar zxvf apache-tomcat-6.0.44.tar.gz
mv apache-tomcat-6.0.44/ tomcat6/
2. 编译安装服务守护程序
cd /opt/tomcat6/bin/
tar vzxf commons-daemon-native.tar.gz
cd /opt/tomcat6/bin/commons-daemon-1.0.15-native-src/unix/
./configure
如果出现如下错误提示,说明未设置JAVA_HOME变量:
*** Java compilation tools ***
checking for JDK location... configure: error: Java Home not defined. Rerun with --with-java=... parameter
可以通过命令行参数指定JDK位置
./configure --with-java=/opt/jdk
配置成功后,开始编译。
make
执行make后会生成一个jsvc的文件,将其复制到tomcat的bin目录
cp jsvc /opt/tomcat6/bin
3. 建立一个用来运行Tomcat的用户
useradd tomcat -M -d / -s /usr/sbin/nologin
4. 修改启动脚本文件
vi /opt/tomcat6/bin/daemon.sh
找到如下内容
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
# Set JAVA_HOME to working JDK or JRE
# JAVA_HOME=/opt/jdk-1.6.0.22
修改TOMCAT_USER=tomcat为你指定用来运行tomcat的用户名,去除JAVA_HOME前的注释(即“#”号),并设置为JDK的所在目录。
在文件靠前位置的注释中加入下面的内容
# chkconfig: -
5. 修改相关目录和文件权限
chown -R tomcat:tomcat /opt/tomcat6chmoda+x/opt/tomcat6/bin/daemon.sh
现在可以使用这个脚本来操作tomcat了:
启动:
/opt/tomcat/bin/daemon.sh start
停止:
/opt/tomcat/bin/daemon.sh stop
前台运行:
/opt/tomcat/bin/daemon.sh run
查看版本:
/opt/tomcat/bin/daemon.sh version
6. 添加tomcat为CentOS的服务
ln -s /opt/tomcat/bin/daemon.sh /etc/init.d/tomcat6
chkconfig –-add tomcat6
随后就可以用chkconfig命令开启/关闭服务的运行状态了。
配置Tomcat以指定的身份(非root)运行的更多相关文章
- centos配置Tomcat以指定的身份(非root)运行
本文依赖的环境: 已安装并配置好jdk和tomcat环境 已安装并配置好gcc.make等编译工具 1.编译安装守护程序 cd /usr/local/tomcat7/bin/ tar vzxf c ...
- Ubuntu下配置Tomcat以指定(非root)身份执行
My Blog:http://www.outflush.com/ 通常情况下.在配置Tomcat生产环境时,一般会配置Tomcat以特定的身份执行(非root).这样有利于提高安全性,防止站点被黑后的 ...
- Linux查看非root运行的进程
Linux查看非root运行的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -U root -u root -N PID TTY TIME CMD ...
- 配置tomcat限制指定IP地址访问后端应用
1. 场景后端存在N个tomcat实例,前端通过nginx反向代理和负载均衡. tomcat1 tomcatN | | | ...
- Centos7下配置Tomcat7以指定(非root)身份运行
通常情况下,在配置Tomcat生产环境时,通常会配置Tomcat以特定的身份运行(非root),这样有利于提高安全性,防止网站被黑后的进一步权限提升. 本文依赖的环境: Ubuntu(其实大部分同样适 ...
- Ubuntu配置Tomcat9非root用户启动
unix类系统的root用户具有极大的权利,所以很多时候我们不希望程序以root身份启动,这也就是配置Tomcat以指定身份(非root)启动的初衷,虽然也没人来攻击我的服务器,但本着学习学习的目的, ...
- Linux非root用户程序使用小于1024端口
在Linux下,默认端口1024下的是要在root下才能使用的,在其他用户下,如果尝试使用将会报错.在有的时候,我们可能考虑程序运行在root帐户下,可能会给Linux系统带来安全风险.那如何能够让非 ...
- 通过配置tomcat实现项目免部署
对于一些比较大的项目,比如说使用了EXTJS这种重量级UI框架的项目,在部署的时候,eclipse会卡崩的,所以可以通过配置tomcat来实现免部署,直接运行即可: 首先找到tomcat的localh ...
- Tomcat非root身份运行制作Linux系统服务管理
理论知识怱略,马上开始实战 一.首先准备好tomcat 启动.关闭.重启Shell脚本: 以下Shell脚本主要修改值 tomcatPath:tomcat目录 runUser:以哪个身份运行 此处测试 ...
随机推荐
- 利用PhantomJS搭建Highcharts export服务
利用PhantomJS搭建Highcharts export服务 一直在使用Highcharts做web图表的展示, 但是当发送定时的报表邮件的遇到了这个问题. 为了保证邮件图表和web页图表样式一致 ...
- 删除单链表的倒数第k个结点
策略 直接遍历总数为len,再次遍历第len-k+1个就是答案,但是这样遍历了O(N+k)个,可以在O在更短的时间内找到 图示 参考代码 #include <iostream> using ...
- gdb 基本命令
backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 info(或i) locals 查看当前栈帧局 ...
- netty httpserver
netty也可以作为一个小巧的http服务器使用. package com.ming.netty.http.httpserver; import java.net.InetSocketAddress; ...
- linux下操作PostgreSQL的常用命令
一般性: \copyright 显示PostgreSQL的使用和发行许可条款 \g [文件] or; 执行查询 (并把结果写入文件或 |管道) \h [名称] SQL命令语法上的说明 ...
- LingPipe-TextClassification(文本分类)
What is Text Classification? Text classification typically involves assigning a document to a catego ...
- 获取Android 手机屏幕宽度和高度以及获取Android手机序列号
1.获取Android 手机屏幕宽度 1 DisplayMetrics dm = new DisplayMetrics(); 2 this.getWindowManager().getDefaultD ...
- Hibernate映射集合属性
Hibernate要求持久化集合属性字段必须声明为接口,实际的接口可以是java.util.Set,java.util.Collection,java.util.List,java.util.Map, ...
- bzoj3931: [CQOI2015]网络吞吐量
将最短路图找出来,跑maxflow即可.有注意到数据范围.然后输出的时候%dWA了三次QAQ... #include<cstdio> #include<cstring> #in ...
- datatable 的ajax修改参数,post可以传参处理
datatables常用参数记录 { "searchable": false, "orderabl ...