tomcat非root用户启动
部署远程服务器时候, 基本都是用root账户登录, 习惯上会直接使用root启动tomcat. 这样其实是有风险的, 黑客获取的权限即容器的权限, 如果容器运行权限就很高,被攻破黑客即可获取很高的权限,造成破坏面及风险更大
本文介绍通过tomcat下的/bin/daemon.sh
方式启动tomcat
-
添加用户
tomcat
groupadd -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账户为正常.
相关介绍:
-
其余参考
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!