Tomcat 安全管理之禁用root用户运行

一、以非root身份运行 Tomcat配置

完成Tomcat安装后,请以非root身份运行Tomcat配置;

1.1、基础操作

1、创建用户组 dev

groupadd dev

2、创建用户 tomcat

useradd -g dev -s /usr/sbin/nologin tomcat

3、配置tomcat

cd /application/tomcat/bin/
# 解压
tar xf commons-daemon-native.tar.gz
# 
cd /application/tomcat/bin/commons-daemon-1.1.0-native-src/unix/

# 安装前的配置 及校验
./configure

# 编译/安装
make

# 执行make后会生成一个jsvc文件,将其复制到tomcat的bin目录
cp jsvc /application/tomcat/bin

4、修改启动脚本文件

vim /application/tomcat/bin/daemon.sh

5、找到如下内容

test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
JAVA_HONE=/application/jdk

修改TOMCAT_USER=tomcat,"tomcat"为运行tomcat的用户,刚刚我们创建的用户即为tomcat,所以无需修改。

将JAVA_HOME前的注释(即“#”号)去除,并设置为我们当前系统JDK的所在目录(这里我是:/application/jdk)。

6、保存退出

:wq

1.2、更改tomcat目录权限

更改文件所有者

chown -R tomcat:dev /application/tomcat

赋予用户执行权

chmod a+x /application/tomcat/bin/daemon.sh

1.3、Tomcat 操作命令

后台运行

/application/tomcat/bin/daemon.sh  start

前台运行

/application/tomcat/bin/daemon.sh  run

停止

/application/tomcat/bin/daemon.sh  stop

1.4、创建符号链接/软连接

ln -s /application/tomcat/bin/daemon.sh /etc/init.d/tomcat

1.5、配置Tomcat开机自启

vim /etc/init.d/tomcat

  #chkconfig: 2345 10 90

  #description:tomcat service

  CATALINA_HOME=/application/tomcat/

  JAVA_HOME=/application/jdk

1.6、添加Tomcat至系统服务

赋予执行权限

chmod +x /etc/init.d/tomcat 

添加到服务列表中

chkconfig --add tomcat 

查看服务列表中是否添加成功

chkconfig --list | grep tomcat

设置开机启动

chkconfig tomcat on   

手动启动/停止

/etc/init.d/tomcat stop # /etc/init.d/tomcat start

service tomcat start # service tomcat stop

1.7、测试

手动启动Tomcat Service

service tomcat start

查看8080端口是否开启,开启了代表启动成功

netstat -an | grep 8080   

至此已经可以禁用root用户运行并改用自定义用户实现开机自启Tomcat service。