文档章节

使用nologin用户启动tomcat进程

jungong
 jungong
发布于 2016/07/09 22:46
字数 366
阅读 216
收藏 6

在生产环境中如何以非root并且nologin的用户启动某些应用呢,找了一下发现可以使用su及runuser命令实现,这两个命令对于nologin用户都需要添加-m选项,以tomcat为例:

###添加nologin的应用账号

# useradd -s /sbin/nologin tomcat

# cat /etc/passwd|grep tomcat

tomcat:x:501:501::/home/tomcat:/sbin/nologin

###使用su切换至普通账号下启动应用

测试切换到tomcat用户失败

# su - tomcat This account is currently not available.

使用su以tomcat用户启动tomcat

# chown -R tomcat.tomcat /data/app/apache-tomcat-7.0.63 && su - tomcat -m -c "source /etc/bashrc&&/data/app/apache-tomcat-7.0.63/bin/startup.sh"

Using CATALINA_BASE:   /data/app/apache-tomcat-7.0.63
Using CATALINA_HOME:   /data/app/apache-tomcat-7.0.63
Using CATALINA_TMPDIR: /data/app/apache-tomcat-7.0.63/temp
Using JRE_HOME:        /data/app/jdk1.8.0_45
Using CLASSPATH:       /data/app/apache-tomcat-7.0.63/bin/bootstrap.jar:/data/app/apache-tomcat-7.0.63/bin/tomcat-juli.jar
Tomcat started.

检查tomcat是否正常启动

# ps aux|grep tomcat

tomcat   21863 51.5  4.4 2243408 45416 ?       Sl   22:30   0:02 /data/app/jdk1.8.0_45/bin/java -Djava.util.logging.config.file=/data/app/apache-tomcat-7.0.63/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/data/app/apache-tomcat-7.0.63/endorsed -classpath /data/app/apache-tomcat-7.0.63/bin/bootstrap.jar:/data/app/apache-tomcat-7.0.63/bin/tomcat-juli.jar -Dcatalina.base=/data/app/apache-tomcat-7.0.63 -Dcatalina.home=/data/app/apache-tomcat-7.0.63 -Djava.io.tmpdir=/data/app/apache-tomcat-7.0.63/temp org.apache.catalina.startup.Bootstrap start
root     21874  0.0  0.0 103252   860 pts/1    S+   22:30   0:00 grep tomcat

###runuser命令指定用户启动tomcat

# chown -R tomcat.tomcat /data/app/apache-tomcat-7.0.63 && runuser -l tomcat -m -c "source /etc/bashrc && /data/app/apache-tomcat-7.0.63/bin/startup.sh"

Using CATALINA_BASE:   /data/app/apache-tomcat-7.0.63
Using CATALINA_HOME:   /data/app/apache-tomcat-7.0.63
Using CATALINA_TMPDIR: /data/app/apache-tomcat-7.0.63/temp
Using JRE_HOME:        /data/app/jdk1.8.0_45
Using CLASSPATH:       /data/app/apache-tomcat-7.0.63/bin/bootstrap.jar:/data/app/apache-tomcat-7.0.63/bin/tomcat-juli.jar
Tomcat started.

© 著作权归作者所有

jungong
粉丝 5
博文 71
码字总数 32392
作品 0
崇明
私信 提问
《白帽子讲WEB安全》学习笔记之第15章 web server配置安全

第15章 web server配置安全 15.1 apache安全 在linux部署安装web Server时候一定主要要使用“最小权限原则”。尽量不要使用root部署。 15.2 nginx安全 Nginx 安全配置指南技术手册 PDF 下载 ...

梦朝思夕
2016/10/08
0
0
常用的服务器上Tomcat配置

JVM 1.1. 使用 Server JRE 替代JDK。 服务器上不要安装JDK,请使用 Server JRE. 服务器上根本不需要编译器,代码应该在Release服务器上完成编译打包工作。 理由:一旦服务器被控制,可以防止...

别寒
2014/08/26
0
0
Tomcat在CentOS上面配置静态文件

问题 由于以前的把静态文件直接放在Tomcat的webapps目录下面,这样导致每次更新war包之后,导致webapps静态文件html丢失。 思路 在Tomcat的server.xml配置文件中配置URL映射,然后映射到web...

亚林瓜子
2018/06/14
0
0
Tomcat 安全配置与性能优化

Tomcat 安全配置与性能优化 Mr. Neo Chen (netkiller), 陈景峰(BG7NYT) 中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 +86 755 29812080 版权 © 2011, 2012, 2013, 20...

netkiller-
2014/05/20
661
4
centos5.3的tomcat6自动启动

转自 http://news.wangmeng.cn/detailNews/876 要是tomcat作为一个守护程序运行,需要用到jsvc工具。(这个TOMCAT已经自带了) 1、准备工作 Tomcat安装后,如果让Tomcat用root身份启动,Tom...

熊二哈
2011/04/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微信小程序和百度小程序开发的一些不同点

1: initActive从onload放到onready中 2: bindtap='{{childTickeData.freeadd?"childticket":""}}',语法错误。会导致页面加载不出来,而且也不报任何错。 3:使用搬家工具,支付api名称转换......

醉雨
27分钟前
1
0
最近执行过的SQL语句查询

SELECT TOP 1000 ST.text AS '执行的SQL语句' , QS.execution_count AS '执行次数' , QS.total_elapsed_time / 10000 AS '耗时' , QS.total_logical_reads AS '逻辑读取次数' , QS.total_lo......

神手--追魂
28分钟前
2
0
从濒临解散到浴火重生,OceanBase 这十年经历了什么?

阿里妹导读:谈及国产自研数据库,就不得不提 OceanBase。与很多人想象不同的是,OceanBase 并非衔着金钥匙出生的宠儿。相反,它曾无人看好、困难重重,整个团队甚至数度濒临解散。 从危在旦...

阿里云官方博客
32分钟前
3
0
阿里开发者招聘节 | 面试题02-04:给定一个二叉搜索树(BST),找到树中第K小的节点

为帮助开发者们提升面试技能、有机会入职阿里,云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、面试经验总结提炼而成的面试真题这一次将陆续放出(面试题官方参考答案...

阿里云云栖社区
48分钟前
4
0
使用Redis SETNX 命令实现分布式锁

基于setnx和getset http://blog.csdn.net/lihao21/article/details/49104695 使用Redis的 SETNX 命令可以实现分布式锁,下文介绍其实现方法。 SETNX命令简介 命令格式 SETNX key value 将 ke...

彬彬公子
49分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部