Ubuntu配置Tomcat9非root用户启动
unix类系统的root用户具有极大的权利,所以很多时候我们不希望程序以root身份启动,这也就是配置Tomcat以指定身份(非root)启动的初衷,虽然也没人来攻击我的服务器,但本着学习学习的目的,也来玩一下。
1.首先进入Tomcat官网(http://tomcat.apache.org/)下载Tomcat9的以.tar.gz打包压缩方式的二进制压缩包。

2.在Ubuntu中使用wget命令下载到本地
3.Ubuntu下一般将第三方程序安装到/usr/local目录下,所以将下载好的tomcat安装包移动到/usr/local目录下执行tar -zvxf apache-tomcat-9.0.0.M4.tar.gz
4.解压完成后进入Tomcat安装目录的bin文件夹找到commons-daemon-native.tar.gz,同样执行tar -zvxf commons-daemon-native.tar.gz
5.解压完成后会在bin目录下生成一个commons-daemon-1.0.15-native-src目录,进入./commons-daemon-1.0.15-native-src/unix目录
6.执行目录下./configure文件(注:执行此命令需配置java环境变量,如果未配置需以--with-java= 指定java安装目录)

7.上一步成功后执行make命令
8.执行成功后会在当前目录生成一个jsvc的目录,将其复制到tomcat的bin目录下,cp jsvc ../../
9.为Tomcat添加一个指定的用户,本例中以tomcat为用户名:useradd tomcat -M -d / -s /usr/sbin/nologin。(-M不创建用户主目录 -d指定用户主目录 -s指定用户shell)
10.回到Tomcat安装目录的bin目录中:cd ../../
11.使用vi或者vim修改bin目录下的daemon.sh文件,设置TOMCAT_USER=tomcat,JAVA_HOME=/usr/lib/jdk1.8.0_91,保存退出

12.设置tomcat安装目录下所有文件的所有者和所属组为tomcat(由于tomcat是由root解压的,所有文件所属权为root,如果不进行移权其他用户将无法启动tomcat服务):chown -R tomcat:tomcat /usr/local/Tomcat9
13.然后在Tomcat安装目录的bin目录下就可以使用daemon.sh start命令启动Tomcat服务
14.为了方便我们将Tomcat设置为服务(在init.d下创建软连接):ln -s /usr/local/Tomcat9/bin/daemon.sh /etc/init.d/Tomcat9
15.这样就可以使用service Tomcat9 start进行启动了
16.设置Tomcat为开机自启动服务,需先将tomcat设置为服务:update-rc.d Tomcat9 defaults
17.如果想移除Tomcat开机自启动,执行以下命令:update-rc.d Tomcat9 remove
以上内容是在http://www.2cto.com/os/201405/297777.html指导下,根据实际情况进行的配置
Ubuntu配置Tomcat9非root用户启动的更多相关文章
- 二进制方式安装docker(非root用户启动docker)
二进制方式安装docker(非root用户启动docker) 一.下载安装包: 地址:https://download.docker.com/linux/static/stable/x86_64/ 这 ...
- 【出错记录】Tomcat非root用户启动无法拥有权限读写文件
简单记录下,如有必要,将深入补充: 一.非root用户运行Tomcat及原因 由于项目中,为了安全需要,Tomcat将禁止以root形式启动,原因很简单,举个例子,一旦有人恶意将jsp文件透过某个别的 ...
- Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用
Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用 参考博客: https://blog.csdn.net/leviopku/article/details ...
- centos7新增用户并授权root权限、非root用户启动tomcat程序
一.centos7新增用户并授权root权限 cat /etc/redhat-release查看centos版本号 1.禁用root账户登录 vim /etc/ssh/sshd_config 找到这一 ...
- 使用非root用户启动tomcat
以下操作均为以root用户运行1.添加tomcat用户组 /usr/sbin/groupadd tomcat 2.添加tomcat用户,并限制登录 /usr/sbin/useradd -s /bin/ ...
- 短网址资料-nginx非root用户启动-systemctl启动脚本-分割root权限
https://www.cnblogs.com/aspnethot/articles/3492191.htmlhttps://www.cnblogs.com/aspnethot/articles/34 ...
- Centos6.4 设置开机自动以某个非root用户启动脚本
开机自动运行脚本,可以将脚本的执行命令放在 /etc/rc.d/rc.local 文件中,但是这样开机自动运行这个脚本的用户默认为root. 如果想以某个非root用户运行脚本,可以使用如下命令: s ...
- zzw原创_非root用户启动apache的问题解决(非root用户启动apache的1024以下端口)
场景:普通用户编译的apache,要在该用户下启动1024端口以下的apache端口 1.假设普通用户为sims20,用该用户编译 安装了一个apache,安装路径为/opt/aspire/produ ...
- 非ROOT用户启动Tomcat
[root@Z ~]# adduser tomcat [root@Z ~]# chown -R tomcat:tomcat /usr/local/tomcat/ [root@Z ~]# chown - ...
随机推荐
- pycharm快捷键及一些常用设置
pycharm快捷键及一些常用设置,有需要的朋友可以参考下. Alt+Enter 自动添加包 Ctrl+t SVN更新 Ctrl+k SVN提交 Ctrl + / 注释(取消注释)选择的行 Ctrl+ ...
- Sicily 1153: 马的周游问题(DFS+剪枝)
这道题没有找到一条回路,所以不能跟1152一样用数组储存后输出.我采用的方法是DFS加剪枝,直接DFS搜索会超时,优化的方法是在搜索是优先走出度小的路径,比如move1和move2都可以走,但是如走了 ...
- 浅谈CPU和GPU的区别
导读: CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景.CPU需要很强的通用性来处理各种不同的数据类型,而GPU面对的则是类型高度统一的.相互无依赖的大规模数据 ...
- MVC 导出Excel 的其中一方法(View导出excel)
场景:mvc下导出excel 思路:使用View导出excel 步骤: 1.导出标签添加事件 $("#export_A").click(function(){ //省略代码.... ...
- dreamweaver cs6 mac破解版
http://www.sdifenzhou.com/dreamweaver-cs6-mac.html
- axis2 调用webservice
maven配置:主要引用包及plugins <properties> <axis2.version>1.6.1</axis2.version> </prope ...
- html中嵌入swf文件的几种方法
转自:http://blog.163.com/yuki_1154/blog/static/7120277120126109315935/ 找了很久终于找到一个比较全面的: 1. object + em ...
- SQL 查看数据库的列数
查询表名为History的所有列名 1 select name from syscolumns where id=object_id('History') 查询表名为History的所有列名个数 ...
- heightcharts
title:标题 subtitle:子标题 data:eval(dataList)//数据格式转换
- Web 前端之HTML和CSS
Web 前端之HTML和CSS HTML被称为超文本标记语言(Hyper Text Markup Language),它不是一种编程语言,而是一种标记语言,标记语言是一套标记标签,HTML使用标记标签 ...