tomcat普通用户运行

Posted song平和心态

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat普通用户运行相关的知识,希望对你有一定的参考价值。

威胁:

通常情况下,在配置Tomcat生产环境时,通常会配置Tomcat以特定的身份运行(非root),这样有利于提高安全性,防止网站被黑后的进一步权限提升。

 

安装jdk请参考:http://53cto.blog.51cto.com/9899631/1697368

安装tomcat请参考:http://53cto.blog.51cto.com/9899631/1697386

 

1, 进入Tomcat安装目录下的bin目录

cd /usr/local/apache-tomcat-8.0.30/bin

 

2,解压commons-daemon-native.tar.gz

tar zxvf commons-daemon-native.tar.gz
cd commons-daemon-native/unix

 

3, 这里需要gccmake等编译工具,如果没有指定JAVA_HOME环境变量,则需要 --with-java= 参数指定jdk目录

./configure
make

 

4,   make后,会在当前文件夹下生成一个名为 jsvc 的文件,将其复制到$CATALINA_HOME/bin目录

cp jsvc /usr/local/apache-tomcat-8.0.30/bin

 

 5,  添加一个程序用户用来运行Tomcat

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的所在目录。

 

 

7, 如果$CATALINA_HOME/bin下的*.sh文件没有运行权限,则为其添加运行权限

chmod +x *.sh

 

8 ,  设置$CATALINE_HOME文件夹及其所有子文件Owner为tomcat

chown -R tomcat:tomcat /usr/local/apache-tomcat-8.0.30

 

 9,  启动Tomcat

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?

  6. 添加tomcat为CentOS的服务
ln -s /opt/tomcat/bin/daemon.sh /etc/init.d/tomcat6
chkconfig –-add tomcat6

    随后就可以用chkconfig命令开启/关闭服务的运行状态了。

以上是关于tomcat普通用户运行的主要内容,如果未能解决你的问题,请参考以下文章

jsp页面被tomcat引擎运行的时候组装成java片段,但是这些java片段怎么没有main方法作为程序的入口啊?

tomcat优化

JAVA企业级应用TOMCAT实战

部署jenkins,采用普通用户tomcat来启动tomcat服务

使用普通用户启动tomcat

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途