新建用户tomcat,该用户不能登录

useradd tomcat -s '/sbin/nologin'

将/usr/local/tomcat/bin/startup.sh更名

mv /usr/local/tomcat/bin/startup.sh /usr/local/tomcat/bin/startup_.sh

将/usr/local/tomcat/bin/shutdown.sh更名

mv /usr/local/tomcat/bin/shutdown.sh /usr/local/tomcat/bin/shutdown_.sh

新建启动脚本startup.sh

touch /usr/local/tomcat/bin/startup.sh

其内容如下:

#!/bin/bash
## set user tomcat to /bin/bash to start server
usermod -s /bin/bash tomcat
## use tomcat user to start server
su - tomcat -c /usr/local/tomcat_web/bin/startup_.sh
## set user tomcat to /sbin/nologin
usermod -s /sbin/nologin tomcat

新建关闭脚本shutdown.sh

touch /usr/local/tomcat/bin/shutdown.sh

内容如下:

#!/bin/bash
## set user tomcat to /bin/bash to shutdown server
usermod -s /bin/bash tomcat
## use tomcat user to shudown server
su - tomcat -c /usr/local/tomcat_web/bin/shuwdown_.sh
## set user tomcat to /sbin/nologin
usermod -s /sbin/nologin tomcat

设置tomcat用户权限

chown -R tomcat:tomcat /usr/local/tomcat/
chmod -R /usr/local/tomcat

判断tomcat用户是否存在

ret=`id -u tomcat >& /dev/null`

if [ $? -ne  ];then
echo "not exist"
fi

也可以普通用户使用开机启动服务启动tomcat

/usr/lib/systemd/system/下新建文件tomcat.service,将下面内容拷贝其中

[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target remote-fs.target nss-lookup.target redis.service mysql.service
Requires=mysql.service redis.service
[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true
User=tomcat [Install]
WantedBy=multi-user.target

注册到系统服务

systemctl enable tomcat.service

使新注册服务生效

systemctl daemon-reload

简单使用普通用户启动tomcat的更多相关文章

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

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

  2. 使用非root用户启动tomcat

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

  3. 非ROOT用户启动Tomcat

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

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

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

  5. linux-非root用户运行tomcat

    # 前言:为什么要使用非root用户运行tomcat root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限. 这意味着你的任何一个页面脚本(html/js)都具有root权 ...

  6. Linux下非root用户运行Tomcat

    PS:Linux下使用非root用户运行tomcat的原因 由于项目需求,也由于root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限. 这意味着你的任何一个页面脚本(htm ...

  7. 使用 jsvc 启动tomcat(使用普通用户运行)

    使用 jsvc 启动tomcat(使用普通用户运行) jsvc简介 在生产中,tomcat应该以daemon的模式运行,而且如果需要以普通用户的身份启动tomcat,那么就不能使用1024以下的端口, ...

  8. 用普通用户通过sudo进行启动tomcat时报如下异常

    用普通用户通过sudo进行启动tomcat时报如下异常 tomcat user 不在 sudoers 文件中.此事将被报告. 这是由于sudo命令使用root用户执行命令.而处于安全性的考虑,一般不允 ...

  9. Tomcat普通用户启动注意事项

    今天项目部署上线,老大跟我建议说不要使用root用户部署,试用普通用户运行.刚开始没想什么,后来部署的时候碰到各种权限问题. 记录一下,以防忘记了. 1.使用普通用户启动失败. 首先不用想就去$TOM ...

随机推荐

  1. 2018-08-11 中文代码示例之Spring Boot 2.0.3问好

    上次试用Spring Boot还是两年前: 中文代码示例之Spring Boot 1.3.3演示. 打算用在一个讨论组内小项目上, 于是从官网Building an Application with ...

  2. LockSupport的源码实现原理以及应用

    一.为什么使用LockSupport类 如果只是LockSupport在使用起来比Object的wait/notify简单, 那还真没必要专门讲解下LockSupport.最主要的是灵活性. 上边的例 ...

  3. JavaScript常用函数

    JavaScript常用函数 常规函数 数组函数 日期函数 数学函数 字符串函数 常规函数 (1)alert函数:显示一个警告对话框,包括一个OK按钮.(alert("输入错误") ...

  4. Testlink1.9.17使用方法(第六章 测试计划制定)

    第六章 测试计划制定 QQ交流群:585499566 在TestLink系统中,一个完整的测试计划包括:集成测试阶段.系统测试阶段. 一. 创建测试计划 1,点击主页上[测试计划管理] 2,在“测试计 ...

  5. 网站的增 / 删 / 改 / 查 时常用的 sql 语句

    最近在学习数据库 php + mysql 的基本的 crud 的操作,记录碰到的坑供自己参考.crud中需要用到的sql语句还是比较多的,共包括以下几个内容: 查询所有数据 查询表中某个字段 查询并根 ...

  6. git多个远程仓库

    1. 前言   用GitHub管理自己的开源项目有几年了,最近一年更新得比较多,仓库也越来越多越来越大.有时候感觉GitHub太慢,尤其是最近感觉更为明显,于是萌生了再找个国内类似GitHub的代码托 ...

  7. aspectj eclipse4.6下载地址

    http://www.eclipse.org/ajdt/downloads/#46zips

  8. MyBatis:参数传递 [转]

    一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...

  9. 关于pycharm中使用charts无法显示图表的问题(属于个人粗心问题)

    在练习用charts库对爬取的数据进行数据分析并图表化时遇到一个问题,无法显示图表,如下: 经过重装charts库等一顿折腾后,终于发现一个问题,看这里: def data_gen(type): le ...

  10. 编译&链接笔记

    无法解析的外部符号? 1)库的版本不对,换成X64或Win32试试