扣丁学堂Linux培训分享Linux下非root用户运行tomcat

2019-09-24 11:29:12 3663浏览

为什么要使用非root用户运行tomcat?root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限。这意味着你的任何一个页面脚本(html/js)都具有root权限,所以可以轻易地用页面脚本 修改整个硬盘里的文件,所以最好不要使用root启动tomcat。本篇文章扣丁学堂Linux培训小编就给大家分享一下Linux下非root用户运行tomcat,下面随小编来看看吧。


扣丁学堂Linux培训分享Linux下非root用户运行tomcat


代码如下:


# 正文:非root用户运行tomcat

## tomcat安装

略... 本文安装目录为 /opt/tomcat8

## 创建用户

# 创建用户组 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配置

### 编译安装服务守护程序
#
cd /opt/tomcat8/bin/
# 解压
tar vzxf commons-daemon-native.tar.gz
# 
cd /opt/tomcat8/bin/commons-daemon-1.0.15-native-src/unix/
# 安装前的配置 及校验
./configure
# 若未配置$java_home需指定JDK目录
./configure --with-java=/opt/jdk_1.7

如果出现如下错误提示,说明未设置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/tomcat8/bin

### 修改启动脚本文件

vi /opt/tomcat8/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"为运行tomcat的用户,本文创建的用户即为tomcat,所以不用修改。

去除JAVA_HOME前的注释(即“#”号),并设置为JDK的所在目录(/opt/jdk_1.7)。

## 更改tomcat目录权限

# 更改文件所有者
chown -R tomcat:dev /opt/tomcat8
# 赋予用户执行权
chmod a+x /opt/tomcat8/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/tomcat8/bin/daemon.sh /etc/init.d/tomcat8
# tomcat8添加至系统服务
chkconfig –-add tomcat8
#启动/停止
service tomcat8 start/stop

想了解更多内容的小伙伴可以登录扣丁学堂官网咨询。想要学好Linux开发小编给大家推荐口碑良好的扣丁学堂,扣丁学堂有专业老师制定的Linux学习路线图辅助学员学习,此外还有与时俱进的Linux课程体系和Linux视频教程供大家学习,想要学好Linux开发技术的小伙伴快快行动吧。扣丁学堂Linux技术交流群:422345477。


扣丁学堂微信公众号                          Python全栈开发爬虫人工智能机器学习数据分析免费公开课直播间


      【关注微信公众号获取更多学习资料】         【扫码进入Python全栈开发免费公开课】



查看更多关于“Linux培训资讯”的相关文章>>

标签: Linux培训 Linux视频教程 红帽Linux视频 Linux学习视频 Linux入门视频 红帽RHCE/RHCSA考试

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号