使用非Root用户启动tomcat(使用80端口)

前言

1.使用root用户启动tomcat会使所有html、js等文件具备root权限,会使服务器更容易被黑。

2.非root用户不能使用1024以下的端口。

基本思路

1.创建一个普通用户,并赋予相应权限

2.使用该用户在8080端口启动tomcat

3.用防火墙的端口转发功能将80端口的流量转发至8080

准备工作

下载tomcat、安装jdk等(本文略)

 

目标1:创建一个普通用户,并赋予相应权限

【创建用户】

创建一个普通用户,用于启动tomcat。

adduser xiaohe

修改密码,这样可以用该用户登录并更新war包

passwd xiaohe

【赋予相应权限】

进入tomcat目录,使用查看所有者和读写权限,一般情况都如下所示
使用非Root用户启动tomcat(使用80端口)_第1张图片

更改所有者为刚才创建的用户,修改读写权限为 :770(所有者和组内成员 可读可写可执行)

chmod -R 770 ./
chown -R xiaohe:xiaohe ./

使用非Root用户启动tomcat(使用80端口)_第2张图片

目标2:普通用户启动tomcat

登录刚才创建的普通用户,进入tomcat的bin目录,启动tomcat

./start.sh

使用非Root用户启动tomcat(使用80端口)_第3张图片

这时候可以访问看看。没有问题的话如下所示:

使用非Root用户启动tomcat(使用80端口)_第4张图片

若无法访问,则可能是防火墙没有开放端口。

可以用以下命令查看端口是否开放(本例的防火墙是firewall):

firewall-cmd --zone=public --list-ports

若没有开放你想要的端口时,可以使用以下命令开放端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

目标3:将80端口转发至8080

本例所使用的防火墙是firewall,其它防火墙操作过程类似这里不作介绍。

【允许防火墙伪装ip】开了这个才可以进行端口转发

firewall-cmd --add-masquerade --permanent

【转发端口】

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent

【开启80端口】

firewall-cmd --zone=public --add-port=80/tcp --permanent

【删除8080端口】如果你不想8080端口开放,则可以使用以下命令删除8080端口

firewall-cmd --zone=public --remove-port=8080/tcp --permanent

最要不要忘了重启防火墙

firewall-cmd --reload

以上,即设置完毕,访问查看如下:

使用非Root用户启动tomcat(使用80端口)_第5张图片

你可能感兴趣的:(linux,tomcat)