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用户启动的更多相关文章

  1. 二进制方式安装docker(非root用户启动docker)

    二进制方式安装docker(非root用户启动docker) 一.下载安装包: 地址:https://download.docker.com/linux/static/stable/x86_64/ 这 ...

  2. 【出错记录】Tomcat非root用户启动无法拥有权限读写文件

    简单记录下,如有必要,将深入补充: 一.非root用户运行Tomcat及原因 由于项目中,为了安全需要,Tomcat将禁止以root形式启动,原因很简单,举个例子,一旦有人恶意将jsp文件透过某个别的 ...

  3. Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用

    Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用 参考博客: https://blog.csdn.net/leviopku/article/details ...

  4. centos7新增用户并授权root权限、非root用户启动tomcat程序

    一.centos7新增用户并授权root权限 cat /etc/redhat-release查看centos版本号 1.禁用root账户登录 vim /etc/ssh/sshd_config 找到这一 ...

  5. 使用非root用户启动tomcat

    以下操作均为以root用户运行1.添加tomcat用户组 /usr/sbin/groupadd tomcat 2.添加tomcat用户,并限制登录 /usr/sbin/useradd -s /bin/ ...

  6. 短网址资料-nginx非root用户启动-systemctl启动脚本-分割root权限

    https://www.cnblogs.com/aspnethot/articles/3492191.htmlhttps://www.cnblogs.com/aspnethot/articles/34 ...

  7. Centos6.4 设置开机自动以某个非root用户启动脚本

    开机自动运行脚本,可以将脚本的执行命令放在 /etc/rc.d/rc.local 文件中,但是这样开机自动运行这个脚本的用户默认为root. 如果想以某个非root用户运行脚本,可以使用如下命令: s ...

  8. zzw原创_非root用户启动apache的问题解决(非root用户启动apache的1024以下端口)

    场景:普通用户编译的apache,要在该用户下启动1024端口以下的apache端口 1.假设普通用户为sims20,用该用户编译 安装了一个apache,安装路径为/opt/aspire/produ ...

  9. 非ROOT用户启动Tomcat

    [root@Z ~]# adduser tomcat [root@Z ~]# chown -R tomcat:tomcat /usr/local/tomcat/ [root@Z ~]# chown - ...

随机推荐

  1. mfc对话询问窗体

    // 显示消息对话框       nRes = MessageBox(_T("您确定要跳转网站?"), _T("提示"), MB_OKCANCEL | MB_I ...

  2. 微信开发(一)内网映射之natapp的使用

    1.https://natapp.cn/client/lists 从官网下载客户端和注册账号 2.打开文件后退出 当前Ctrl+C 输入natapp -authtoken=xxxxx 此为从我的客户端 ...

  3. Linux下安装tensorflow

  4. Linux下配置python环境

  5. Mysql安装及主从复制配置

    1.下载 mysql数据库 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.9-linux-glibc2.5-x86_64.ta ...

  6. 如何添加商*通新对话快捷链接?不用js代码

    我们在使用商务通一般都是在页面中嵌入一段js代码,如果您是js洁癖,是不是在想着如何直接用一张小图加上商*通新对话链接来代替呢?好,那就一起来研究一下吧. 首先,我们打开一个有商*通js弹窗的页面,比 ...

  7. HTTP连接管理

    本文是<HTTP权威指南>读书笔记: 几乎所有的HTTP通信都是通过TCP/IP承载的,当HTTP要传送一些报文时,会以流的形式将报文数据的内容通过一条打开的TCP连接按序传输.因此HTT ...

  8. 大端字节序&小端字节序(网络字节序&主机字节序)

    大端字节序:整数的高位字节存储在内存的低地址处,低字节存储在内存的高地址处. 小端字节序:整数的高位字节存储在内存的高地址处,低字节存储在内存的低地址处. 一般pc大多采用小端字节序,也称为主机字节序 ...

  9. linQ学习笔记之二简单的linq使用

    最基本的Lambda表达式 (参数列表)=>{f方法体} 参数列表中的参数类型可以是明确类型或者是推断类型 如果是推断类型,则参数的数据类型将由编译器根据上下文自动推断出来 linQ to Ob ...

  10. SemanticZoom配合GridView组件的使用关键点

    1,SemanticZoom 有两个重要属性 默认值ZoomedInView(不设置的话,默认显示,包括分类名和分类成员)和ZoomedOutView(这个是缩小后的目录,只要包括分类名,点击跳到对应 ...