tomcat普通用户运行
威胁:
通常情况下,在配置Tomcat生产环境时,通常会配置Tomcat以特定的身份运行(非root),这样有利于提高安全性,防止网站被黑后的进一步权限提升。
安装jdk请参考:http://53cto.blog.51cto.com/9899631/1697368
安装tomcat请参考:http://53cto.blog.51cto.com/9899631/1697386
1, 进入Tomcat安装目录下的bin目录
1 | cd /usr/local/apache-tomcat- 8.0 . 30 /bin |
2,解压commons-daemon-native.tar.gz
1 | tar zxvf commons-daemon- native .tar.gz |
1 | cd commons-daemon- native /unix |
3, 这里需要gcc、make等编译工具,如果没有指定JAVA_HOME环境变量,则需要 --with-java= 参数指定jdk目录
1 | ./configure |
1 | make |
4, make后,会在当前文件夹下生成一个名为 jsvc 的文件,将其复制到$CATALINA_HOME/bin目录
1 | cp jsvc /usr/local/apache-tomcat- 8.0 . 30 /bin |
5, 添加一个程序用户用来运行Tomcat
1 | useradd -M -d / -s /usr/sbin/nologin tomcat |
6,修改$CATALINA_HOME/bin目录下的 daemon.sh 文件(如果已配置好jdk环境变量可以忽略此步骤)
设置其中的
修改启动脚本文件
vi /opt/tomcat6/bin/daemon.sh
找到如下内容
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
# Set JAVA_HOME to working JDK or JRE
# JAVA_HOME=/opt/jdk-1.6.0.22
修改TOMCAT_USER=tomcat为你指定用来运行tomcat的用户名,去除JAVA_HOME前的注释(即“#”号),并设置为JDK的所在目录。
#chkconfig --add tomcat
#chkconfig tomcatd on
daemon.sh文件靠前位置添加这两行,少了这2行 无法支持chkconfig
# chkconfig: - 96 35
# description: Starts and stops tomcat
ln -s /opt/tomcat/bin/daemon.sh /etc/init.d/tomcat 将启动脚本软链接到/etc/init.d/目录下方便以后启动服务
7, 如果$CATALINA_HOME/bin下的*.sh文件没有运行权限,则为其添加运行权限
1 | chmod +x *.sh |
8 , 设置$CATALINE_HOME文件夹及其所有子文件Owner为tomcat
1 | chown -R tomcat:tomcat /usr/local/apache-tomcat- 8.0 . 30 |
9, 启动Tomcat
1 2 3 4 5 6 7 8 9 10 11 | daemon.sh start [root @bogon bin]# ./daemon.sh -help Unknown command: `-help' Usage: daemon.sh ( commands ... ) commands: run Start Tomcat without detaching from console start Start Tomcat stop Stop Tomcat version What version of commons daemon and Tomcat are you running?<br><br> |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步