Linux下非root用户运行Tomcat
PS:Linux下使用非root用户运行tomcat的原因
由于项目需求,也由于root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限。
这意味着你的任何一个页面脚本(html/js)都具有root权限,所以可以轻易地用页面脚本 修改整个硬盘里的文件!
所以最好不要使用root启动tomcat。
正文:非root用户运行tomcat
#本文安装目录为 /opt/tomcat6
# 创建用户
# 创建用户组 dev
groupadd dev
# 创建用户 tomcat
useradd -g dev -s /usr/sbin/nologin tomcat
说明:-s /usr/sbin/nologin 表示禁止该用户登录。
也可以在用户创建之后执行
useradd -g dev
usermod -s | --shell /usr/sbin/nologin username
# tomcat配置
#编译安装服务守护程序
#进入tomcat目录
cd /opt/tomcat6/bin/
# 解压
tar vzxf commons-daemon-native.tar.gz
# 进入unix目录
cd /opt/tomcat6/bin/commons-daemon-1.0.-native-src/unix/
# 安装前的配置 及校验
./configure
# 若未配置$java_home需指定JDK目录
./configure --with-java=/opt/jdk_1.6_45
如果出现如下错误提示,说明未设置JAVA_HOME变量
*** Java compilation tools ***
checking for JDK location... configure: error: Java Home not defined. Rerun with --with-java=... parameter
如果看到以下信息,就可以编译/安装了
*** All done ***
Now you can issue "make"
# 编译/安装
make
# 执行make后会生成一个jsvc文件,将其复制到tomcat的bin目录
cp jsvc /opt/tomcat6/bin
# 修改启动脚本文件
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_45
#修改TOMCAT_USER=tomcat,"tomcat"为运行tomcat的用户,本文创建的用户即为tomcat,所以不用修改。
去除JAVA_HOME前的注释(即“#”号),并设置为JDK的所在目录(/opt/jdk_1.6)。
## 更改tomcat目录权限
# 更改文件所有者
chown -R tomcat:dev /opt/tomcat6
# 赋予用户执行权
chmod a+x /opt/tomcat6/bin/daemon.sh
注:tomcat命令
# 后台运行
/opt/tomcat/bin/daemon.sh start
# 前台运行
/opt/tomcat/bin/daemon.sh run
# 停止
/opt/tomcat/bin/daemon.sh stop
# 创建符号链接/软连接
ln -s /opt/tomcat6/bin/daemon.sh /etc/init.d/tomcat6
# tomcat6添加至系统服务
chkconfig –-add tomcat6
#启动/停止
service tomcat6 start/stop
如果事后就后悔当时应该做别的选择,就表示不论选哪一条路都会得到相同的结果
Linux下非root用户运行Tomcat的更多相关文章
- Linux下非root用户如何安装软件
Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...
- Linux 下非root用户使用docker
Linux 下非root用户使用docker 通常我们使用linux系统的时候,最好是不要直接使用root账号,但是使用Docker的时候,默认又是不能使用非root用户的,关于原因,官方说法如下: ...
- [转载]Linux下非root用户如何安装软件
[转载]Linux下非root用户如何安装软件 来源:https://tlanyan.me/work-with-linux-without-root-permission/ 这是本人遇到的实际问题,之 ...
- linux下非root用户的sudo问题
linux下的root用户是个超级管理员,一般是不用这个用户登录进行操作的,但有时候需要root权限,又不想切换用户的话可以使用sudo命令.但是不是所有的用户都可以使用sudo命令的. 首先可能会遇 ...
- Linux下非root用户安装软件的一般流程:
1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录, ...
- Linux 下非 root 用户安装 theano(配置 GPU)
非 root 用户,安装 Python 第三方的包,尤其像 theano,存在大量的依赖项,存在的主要问题,是安装各个包时的权限问题.所幸,存在这样一个集成工具,叫 anaconda,其已经内置了许多 ...
- linux下非root用户怎样改动root权限的文件
在linux下会出现把一些配置文件參数配错.rootpassword忘记等导致系统无法启动或进入root的窘迫境界.本文以redhat enterprise linux server ...
- linux下非root用户获得/dev/ttyUSB0的读写权限
首先查看/dev/ttyUSB0的权限属性,在终端输入: ll /dev/ttyUSB0 teashaw@xiaopeiqing.com:~$ ll /dev/ttyUSB0 crw-rw—- 1 r ...
- Linux环境(服务器)下非root用户安装Python3.6
Linux环境(服务器)下非root用户安装Python3.6 在管理实验室集群时候,遇到的问题--非root用户在搭建自己环境时候,如何搭建. 注意: root用户的根目录是root,非root用户 ...
随机推荐
- PHP date_diff() 函数
------------恢复内容开始------------ 实例 计算两个日期间的差值: <?php$date1=date_create("2013-03-15");$da ...
- PHP get_resource_type() 函数
get_resource_type() 返回资源(resource)类型. 版本要求:PHP 4 >= 4.0.2, PHP 5, PHP 7高佣联盟 www.cgewang.com 语法 st ...
- idea安装testng插件后,无法使用调用testng里面的类
1.已经安装好idea的testng插件,并且应用上相关的两个插件. 2.已经导入maven仓库的testng.jar,并且重启过idea后:发现不能调用. 本人在百度很多相关资料,始终没有找到解决方 ...
- Qt 中十六进制字节流转换为Base64编码
在Qt中,在网络通信时,有时需要将16进制字节流转换为Base64编码传输,在Qt的QByteArray类中,提供了与Base64转换的接口: //16进制字节流转为Base64 QByteArray ...
- Access to XMLHttpRequest at xxxx from origin ‘null‘ has been blocked by CORS policy:
使用前后端分离的方式创建web项目的时候出现问题: 这是因为 ajax 请求的对应的域在本地的一个文件路径,比如在D盘的某个文件夹,这里存放的都是前端文件: 但是对应的服务器是 localhost 的 ...
- Typora 完美结合 PicGo,写作体验更佳!
写在前面 在众多 md 编辑器中,Typora 是大家公认的体验较好的写作软件之一,它最大的特点就是:所见即所得,无须分屏预览,或者开启新页面预览.除此之外,还有很多优点,这里不做介绍,不是本文的重点 ...
- 「查缺补漏」巩固你的Redis知识体系
Windows Redis 安装 链接: https://pan.baidu.com/s/1MJnzX_qRuNXJI09euzkPGA 提取码: 2c6w 复制这段内容后打开百度网盘手机App,操作 ...
- CNN 小结
CNN 小结 目录 CNN特征提取过程(卷积核描述的是特征信息, 此特征可能就是原图像中的某些像素, 但是卷积核并不找相似的地方在原始图像的哪里, 所以需要将卷积核不断地滑动, 得到的feature ...
- Nginx MogileFS 配置
配置好MogileFS, 见mogilefs的安装与配置随笔 下载nginx.1.10.3.tar.gz, nginx_mogilefs_module.1.0.4.tar.gz 编译安装 将连个tar ...
- Catalina 默认使用zsh了,你可习惯
zsh 成为默认 shell 淘汰掉我的旧MBP换新后,欢天喜地打开Terminal,感觉有点不对,提示符什么时候变成了 %. 查询了一些资料发现,原来在2019年WWDC期间,苹果推出了macOS ...