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, 这里需要gcc、make等编译工具,如果没有指定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环境变量可以忽略此步骤)

设置其中的

TOMCAT_USER=tomcat
JAVA_HOME=/usr/java/jdk1.8.0_65

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

[[email protected] 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?

10,  查看下是否以tomcat用户启动

ps aux|grep tomcat

时间: 2024-10-13 00:40:20

tomcat安全防护之普通用户运行的相关文章

开发利器_Jsvc.利用Jsvc实现Tomcat以普通用户运行监听80端口?

简单介绍: 说明: Jsvc主要用于非Windows操作系统上以非ROOT用户运行绑定到特权端口的Java服务器,专门由C编写的服务封装器,很容易结合SHELL脚本编写守护脚本.运行后以独立进程存在. 快速安装: yum -y install gcc autoconf cd /xm-workspace/xm-webs/xmcloud/tomcat8081/bin tar -zxvf commons-daemon-native.tar.gz  && cd commons-daemon-1.0

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

用普通用户运行nginx(安全优化)

一般情况下,我们在编译安装的时候会创建指定nginx来运行程序,但是nginx启动后它的master进程还是root,为了安全起见,我们要修改它的主进程,改为普通用户. 注意:普通进程就使用普通用户管理就可以,不要任何程序都使用root,一但出问题,很难搞! 检查:ps -ef 1.先创建一个普通用户: useradd nginx-soft 2.要想使用普通用户运行nginx 必须要将端口80更改,大于1024,此处使用8000: listen       8000; index路径修改: 日志

Linux crontab的使用方式,sh脚本的编写,sh脚本自动启动tomcat服务器,sh监控系统运行情况

1.如果想使用Linux crontab(类似java quartz),需要先启动crontab.关于crontab的启动.关闭.重启.重新载入配置的方式如下: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 2.crontab的命令介绍: A:添加crontab的命令是:c

修改ES使用root用户运行

默认ES不允许使用root用户运行,如果使用root会报如下图的错误: ,通常建议创建elsearch用户并使用该用户运行ES.但如果必须使用root用户时,按如下设置即可: 1.启动是使用如下命令 bin/elasticsearch -Des.insecure.allow.root=true 2.修改ES启动脚本 vim bin/elasticsearch(添加ES_JAVA_OPTS="-Des.insecure.allow.root=true")

关于Windows_8.1/Windows 7下普通用户运行软件提示需要输入管理员密码解决方法

关于Windows_8.1/Windows 7下普通用户运行软件提示需要输入管理员密码解决方法 1. 问题起因 最近遇到一个比较棘手问题,顺丰速运修改了快递单填写方式,必须要安装他们公司开发的一个软件(软件名叫"速打线下用户专用版"),这个软件非常奇葩,只要是普通用户运行该软件,就弹出"用户控制"的对话框要求输入管理员密码,要么就把用户账户加入管理员组才能正常运行,作为一家比较有规模的企业,怎么可能随便开放管理员权限啊!这样做将会有无尽麻烦(如果你是管理员,你懂的)

如何让普通用户运行需要管理员权限的应用程序

网络上收集的一些可以普通用户运行需要管理员权限应用程序的工具软件,基本原理是通过加密管理员密码并保存,然后调用WINDOWS 的RUNAS功能,然后自动输入密码,使程序运行在另一个管理员账号的环境中.技术上好像难度不大. 软件列表: 工具名称 费用 UAC 支持系统 其它 Steel RunAs 付费 CPAU RunitAs RUNASSPC Encrypted RunAs 付费 ADVrunas 付费 BytesRoad SafeLauncher  付费 Impersonator  付费 L

小技巧:如何以另外的Windows用户运行SSMS

可能会碰到这样的问题,你需要在一台机器上面使用不同的Windows账户连接到SQL Server做测试.默认情况下,你需要用不同的Windows账户登录然后测试.实际上不需要每个windows登陆,就可以作为不同的用户访问. 1.  用RUNAS命令调用SSMS,写起来相对麻烦. 2.  只需要按住Shift键,使用"Run as different user".首先找到SSMS,按住Shit键,然后选择"Run as different user" 如下图: 小技

如何自定义Tomcat Realm实现我们的用户认证需求

目录 1. 什么是Realm? 2. 如何配置使用Tomcat自带的几种Realm? 3. 如何配置使用我们自定义的Realm? 3.1 实现org.apache.catalina.Realm接口 3.2 将Realm编译成.class文件 3.3 在MBeans描述符里声明你的realm 3.4 将Realm编译后的文件打成jar包 3.5 像配置标准realm一样在server.xml文件中声明你的realm 4. Realm的优点. 正文 1. 什么是Realm? Realm,中文可以翻译