tomcat非root用户启动
部署远程服务器时候, 基本都是用root账户登录, 习惯上会直接使用root启动tomcat.
这样其实是有风险的, 黑客获取的权限即容器的权限,
如果容器运行权限就很高,被攻破黑客即可获取很高的权限,造成破坏面及风险更大
本文介绍通过tomcat下的/bin/daemon.sh方式启动tomcat
-
添加用户
tomcatgroupadd -g 2000 tomcat useradd -g 2000 -u 2000 tomcat -
给目录授权
chown -R tomcat:tomcat /usr/local/tomcat -
使用
daemon.sh启动daemon.sh文件中大约在90行左右指定了使用名为tomcat用户的用户执行.所以我们直接运行daemon.sh即可, 不需要
su -u tomcat ./daemon.sh./bin/daemon.sh start -
配置tomcat开机自启
// vim /etc/rc.d/rc.local // 在文件最后添加 /usr/local/tomcat/bin/daemon.sh start -
问题解决
-
使用
daemon.sh启动时候缺少jsvc文件 -
从以下途径获取到
jsvc文件后, 复制到tomcat/bin下, 赋予root执行权限再次启动即可-
直接下载: jsvc.zip - 蓝奏云
-
上面下载链接的来源: tomcat启动异常jsvc:No such file or director
-
-
文件路径权限问题
如果项目中使用到的文件(如: 日志或其他文件等), 需要手动授权.
chown -R tomcat:tomcat /file/ -
自启失败
判断
/etc/rc.d/rc.local是否可执行查看tomcat日志是否启动了tomcat
-
-
查看运行进程
若自动换行, 使用代码全屏查看[root@hecs-26265 ~]# ps -ef | grep tomcat root 881 1 0 10:42 ? 00:00:00 jsvc.exec -java-home /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-0.hce2.x86_64/jre -user tomcat -pidfile /usr/local/tomcat/logs/catalina-daemon.pid -wait 10 -umask 0027 -outfile /usr/local/tomcat/logs/catalina-daemon.out -errfile &1 -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/commons-daemon.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dignore.endorsed.d tomcat 885 881 69 10:42 ? 00:00:17 jsvc.exec -java-home /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-0.hce2.x86_64/jre -user tomcat -pidfile /usr/local/tomcat/logs/catalina-daemon.pid -wait 10 -umask 0027 -outfile /usr/local/tomcat/logs/catalina-daemon.out -errfile &1 -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/commons-daemon.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dignore.endorsed.d root 1900 1850 0 10:43 pts/0 00:00:00 grep --color=auto tomcat一个root, 一个tomcat账户为正常.
相关介绍:
-
其余参考

浙公网安备 33010602011771号