# 前言:为什么要使用非root用户运行tomcat

root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限。

这意味着你的任何一个页面脚本(html/js)都具有root权限,所以可以轻易地用页面脚本 修改整个硬盘里的文件!

所以最好不要使用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 C-add tomcat8

#启动/停止

service tomcat8 start/stop

总结

以上所述是小编给大家介绍的linux下非root用户运行tomcat,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言!

linux tomcat守护_linux下非root用户运行tomcat相关推荐

  1. linux ttyusb读写_linux下非root用户获得devttyUSB0的读写权限

    linux下非root用户获得devttyUSB0的读写权限 首先查看/dev/ttyUSB0的权限属性,在终端输入:teashaw@http://www.doczj.com/doc/049b1b8e ...

  2. linux装软件需要root用户,Linux下非root用户安装软件的一般流程:

    1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录, ...

  3. linux是不是在根目录下安装的软件其它用户就可以使用,[转载]Linux下非root用户如何安装软件...

    [转载]Linux下非root用户如何安装软件 这是本人遇到的实际问题,之前用到的所有机器,无论是自己的PC还是云服务器,root权限都是妥妥的,但是现在发现实验室的服务器原来自己并没有root权限2 ...

  4. Linux 下非 root 用户 Conda 安装生物信息 R 软件包 MetaboAnalystR 演示

    (首发地址:学习日记 https://www.learndiary.com/2022/06/metaboanalystr/  ) 前些天演示了一下 Linux 下非 root 用户 Conda 安装生 ...

  5. 【最佳实践】瀚高数据库安全版v4.5.7非root用户运行的安装配置

    瀚高数据库安全版v4.5.7非root用户运行配置 大家都知道的瀚高数据库安全版都是使用root安装并以root来运行的,之所以是默认只能用root安装是因为有些特殊环境下必须使用root.抛开这些特 ...

  6. 容器安全 - 非特权/非root用户运行容器,提升容器的运行安全

    <OpenShift 4.x HOL教程汇总> 文章目录 以非特权方式运行容器 以非root用户运行容器 以非特权方式运行容器 以特权的方式运行容器,确认可以执行"fdisk&q ...

  7. Linux下非root用户环境变量使用小结

    环境变量是指操作系统或程序执行时候默认设定的参数,比如path路径变量,或者说是当要执行某个命令或程序的时候默认寻找的路径.环境变量可以分为永久变量和临时变量,或是用户变量和系统变量. 在多人使用同一 ...

  8. Linux 下非 root 用户安装 theano(配置 GPU)

    非 root 用户,安装 Python 第三方的包,尤其像 theano,存在大量的依赖项,存在的主要问题,是安装各个包时的权限问题.所幸,存在这样一个集成工具,叫 anaconda,其已经内置了许多 ...

  9. linux安装mongodb(设置非root用户和开机启动)

    官网地址:https://www.mongodb.com/ 在官网上选择不同的linux系统得到不同的下载地址,我们用的下载地址是:https://fastdl.mongodb.org/linux/m ...

最新文章

  1. oracle hot patch david,Oracle EBS使用adpatch工具打patch过程(hotpatch mode)
  2. 环信联合创始人: Saas敏捷开发实践!
  3. C++Quick sort快速排序的实现算法之一(附完整源码)
  4. 量化框架zipline--分钟回测改写
  5. 尝试将WCF映射到Java术语
  6. tensorflow离线安装指南
  7. 2020年300分计算机考研能上那个学校,2020年研究生考试很难吗 网友:我考300分能读吗?...
  8. netty的channel介绍
  9. java学习之Eclipse开发工具
  10. java socket 全双工客户端_Java Websocket实例【服务端与客户端实现全双工通讯】
  11. 西门子step7安装注册表删除_如何完全删除step 7
  12. ssm教培管理系统毕业设计源码230932
  13. ssm企业人事管理系统人事管理系统(企业人事管理系统)企业人事人力资源管理系统
  14. TS文件格式详解及解封装过程
  15. 物联网:Android端控制ZigBee实现生产环境自动控制
  16. 国内主机备案是干嘛的? 国内免备案主机是真的吗?
  17. vue调用摄像头pc+移动端
  18. CSS(Emmet语法、复合选择器、元素显示模式、背景)
  19. 2021icpc亚洲赛区沈阳站总结
  20. 合泰HT32F52352 USART串口与电脑通信控制LED

热门文章

  1. android activity之间传递对象,Android Activity之间的数据传递
  2. php上传文件损坏,PHP 上传文件故障排除
  3. 计算机网络实用期末试题和答案,计算机网络期末考试试题及答案(1)
  4. 上传本地项目到gitee_用git上传本地文件到码云gitee的方法
  5. 服务器网盘系统怎么装,云服务器上怎么安装操作系统
  6. css3 transform matrix 深入理解
  7. python人工智能原理及其应用_人工智能原理与实践:基于Python语言和TensorFlow
  8. 计算机视觉子方向,计算机视觉方向简介 | 人脸识别中的活体检测算法综述
  9. android 4.2以上版本永不休眠
  10. linux rom打包工具,Android rom解包打包工具