Tomcat的安全启动设置


=Start=

这里所谓的安全启动其实就是指:以tomcat用户启动Tomcat容器,并将Web目录设置为只读,防止被上传webshell。

步骤:
1.安装设置Java

解压之后放到某个固定的目录中,然后是设置JAVA_HOME和CLASSPATH,修改PATH(修改:~/.bashrc的内容):

export JAVA_HOME=/usr/lib64/jdk1.7.0_25
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib
2.下载并解压Tomcat

解压后放到某个固定的目录中,设置环境变量CATALINA_BASE:

export CATALINA_BASE=/usr/local/apache-tomcat-7.0.62
3.新建tomcat用户
# groupadd tomcat
# useradd -s /bin/bash -g tomcat tomcat
4.修改Tomcat启动脚本用户为tomcat
$ vim $CATALINA_BASE/bin/startup.sh
export TOMCAT_USER=tomcat
if [ -z "$TOMCAT_USER" ]; then
    exec "$PRGDIR"/"$EXECUTABLE" start "$@"
else
    exec su $TOMCAT_USER -c "$PRGDIR/$EXECUTABLE start $@"
fi
$ vim $CATALINA_BASE/bin/shutdown.sh
export TOMCAT_USER=tomcat
if [ -z "$TOMCAT_USER" ]; then
    exec "$PRGDIR"/"$EXECUTABLE" start "$@"
else
    exec su $TOMCAT_USER -c "$PRGDIR/$EXECUTABLE start $@"
fi
5.设置Tomcat开机自启动
$ cat /etc/init.d/tomcat
#!/bin/bash
# description: Tomcat Start Stop Restart
# locate : /etc/init.d/tomcat
# run as: tomcat
# chkconfig: 234

export JAVA_HOME=/usr/lib64/jdk1.7.0_25
export PATH=$JAVA_HOME/bin:$PATH
export CATALINA_BASE=/usr/local/apache-tomcat-7.0.62

case $1 in
    start)
        sh $CATALINA_BASE/bin/startup.sh
        ;;
    stop)
        sh $CATALINA_BASE/bin/shutdown.sh
        ;;
    restart)
        sh $CATALINA_BASE/bin/shutdown.sh
        sh $CATALINA_BASE/bin/startup.sh
        ;;
esac
exit 0

$ sudo vim /etc/init.d/tomcat
$ sudo chmod 755 /etc/init.d/tomcat

[root@localhost init.d]# chkconfig --level 234 tomcat on
[root@localhost init.d]# chkconfig --list tomcat
6.修改Web目录权限
[root@localhost init.d]# ps aux | grep tomcat
root      8875  0.0  0.0  61240   792 pts/1    S+   11:53   0:00 grep tomcat
[root@localhost init.d]# ps aux | grep java
root      8877  0.0  0.0  61240   792 pts/1    S+   11:53   0:00 grep java
[root@localhost init.d]# service tomcat start
Using CATALINA_BASE:   /usr/local/apache-tomcat-7.0.62
Using CATALINA_HOME:   /usr/local/apache-tomcat-7.0.62
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.62/temp
Using JRE_HOME:        /usr/lib64/jdk1.7.0_25
Using CLASSPATH:       /usr/local/apache-tomcat-7.0.62/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.62/bin/tomcat-juli.jar
touch: cannot touch '/usr/local/apache-tomcat-7.0.62/logs/catalina.out': Permission denied
/usr/local/apache-tomcat-7.0.62/bin/catalina.sh: line 387: /usr/local/apache-tomcat-7.0.62/logs/catalina.out: Permission denied
[root@localhost init.d]# ps aux | grep java
root      8933  0.0  0.0  61240   800 pts/1    S+   11:53   0:00 grep java

[root@localhost ~]# chown -R tomcat:tomcat /usr/local/apache-tomcat-7.0.62/ && chmod -R 0755 /usr/local/apache-tomcat-7.0.62/
[root@localhost ~]# chown -R root:root /usr/local/apache-tomcat-7.0.62/webapps/ && chmod -R 0755 /usr/local/apache-tomcat-7.0.62/webapps/

[root@localhost ~]# ls -l /usr/local/apache-tomcat-7.0.62/
total 164
drwxr-xr-x 2 tomcat tomcat  4096 Jun 10 11:49 bin
drwxr-xr-x 3 tomcat tomcat  4096 Jun  9 19:38 conf
drwxr-xr-x 2 tomcat tomcat  4096 Jun  9 18:35 lib
-rwxr-xr-x 1 tomcat tomcat 56812 May  8 01:17 LICENSE
drwxr-xr-x 2 tomcat tomcat  4096 Jun  9 19:38 logs
-rwxr-xr-x 1 tomcat tomcat  1192 May  8 01:17 NOTICE
-rwxr-xr-x 1 tomcat tomcat  8965 May  8 01:17 RELEASE-NOTES
-rwxr-xr-x 1 tomcat tomcat 16204 May  8 01:17 RUNNING.txt
drwxr-xr-x 2 tomcat tomcat  4096 Jun  9 18:35 temp
drwxr-xr-x 5 root   root    4096 Jun  9 21:07 webapps
drwxr-xr-x 3 tomcat tomcat  4096 Jun  9 19:38 work
[root@localhost ~]# service tomcat start
Using CATALINA_BASE:   /usr/local/apache-tomcat-7.0.62
Using CATALINA_HOME:   /usr/local/apache-tomcat-7.0.62
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.62/temp
Using JRE_HOME:        /usr/lib64/jdk1.7.0_25
Using CLASSPATH:       /usr/local/apache-tomcat-7.0.62/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.62/bin/tomcat-juli.jar
Tomcat started.
[root@localhost ~]# ps aux | grep java
tomcat    9936 50.8  6.2 592956 63684 ?        Sl   12:05   0:03 /usr/lib64/jdk1.7.0_25/bin/java -Djava.util.logging.config.file=/usr/local/apache-tomcat-7.0.62/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/apache-tomcat-7.0.62/endorsed -classpath /usr/local/apache-tomcat-7.0.62/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.62/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/apache-tomcat-7.0.62 -Dcatalina.home=/usr/local/apache-tomcat-7.0.62 -Djava.io.tmpdir=/usr/local/apache-tomcat-7.0.62/temp org.apache.catalina.startup.Bootstrap start
root      9975  0.0  0.0  61240   792 pts/1    S+   12:05   0:00 grep java
7.测试

urlrewritefilter

参考链接:

http://baigu.iteye.com/blog/1747504


建立一个无法SSH登录的账户是个什么原理?
搜索关键字:
  • centos create a temp user cannot login
  • centos 以tomcat权限运行tomcat
参考链接:

=END=


《“Tomcat的安全启动设置”》 有 2 条评论

  1. 【Java】Mac下搭建JSP环境(Tomcat安装、IntelliJ配置、Eclipse配置)
    https://blog.csdn.net/bfz_50/article/details/91382593
    `
    JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
    它实现了Html语法中的java扩展(以 形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
    JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

    # 安装+运行 Tomcat
    安装:下载官网提供的二进制分发文件(Binary Distributions),然后解压至某个目录下即可完成安装。
    运行:在终端中cd到刚才解压目录下的bin目录下,执行 ./startup.sh 命令以启动tomcat;执行 ./shutdown.sh 以停止tomcat。

    # jsp文件的运行测试
    首先要进入刚刚解压出来的tomcat目录,然后进入 webapps/ROOT 目录里面,再新建一个jsp文件,并且输入相关内容然后保存,比如我们新建一个hello.jsp文件。

    然后去浏览器打开 http://localhost:8080/hello.jsp 即可进行测试验证。
    `

    在Mac下搭建JSP开发环境
    https://blog.csdn.net/a592733740/article/details/104899549

回复 hi 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注