tomcat 在linux下权限配置

时间:2021-12-07 19:14:47

使用不同的用户给Tomcat重启可能会造成tomcat下的所属文件权限问题,导致系统页面不能访问。

参照下文。

http://chenyoca.iteye.com/blog/1204103


通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了。其中最大的一个问题就是Tomcat执行权限。普通方式配置的Tomcat是以root超级管理员的身份运行的,显然,这是非常危险的,可想而知,一但网站被挂马,您的整个服务器都可以被黑客控制了。而通过编译或在线(例如RedHat系列的yum, debian系列的apt-get)的方式安装,一个服务器上又只能装一个tomcat的服务,如果将多个网站放到同一个tomcat服务中,一但某一个网站出问题导致tomcat服务被卡死,则服务器上所有的网站都打不开了,无法满足各网站程序独享tomcat的需求。为了解决这些问题,我们需要配置Tomcat以指定的身份运行,且一台服务器上可以安装任意多个tomcat服务。


如果我的网站被入侵,而启动Tomcat的就是我,哪怕是阿威,那就危险啦!除了执行sudo需要输入密码,基本上我所在用户组的数据就全部危险了!
所以,我要限制Tomcat的权限。
可是,我要怎么设置,才能让我启动Tomcat,但Tomcat只能在固定目录里读写执行呢?
在伟大的脑袋思考,加上以前了解的权限管理,我果断得出以下方法:
1、把Tomcat包含子目录,属主和组全部设置root。 # chown root -R /usr/local/tomcat        # chgrp root -R /usr/local/tomcat
2、把works目录及其子目录设置为www组,组属性rwx。 # chgrp www -R /usr/local/tomcat/works        # chmod g+rws -R /usr/local/tomcat/works
3、把logs目录及其子目录设置为www组,组属性rw-。         # chgrp www -R /usr/local/tomcat/logs         # chmod g+rws -R /usr/local/tomcat/logs
4、启动Tomcat的管理员加入www组,这样Tomcat启动后,可以向logs目录写入日志,works目录生成缓存。
5、所有WebApp全部目录设置不可写,某些需要上传图片的目录,把写操作打开,并关闭执行操作 # chown root -R /var/www-data/*        # chgrp www -R /var/www-data/*        # chmod a-x -R /var/www-data/WebApp/WritenDir/*
OK,模拟一下入侵操作:
某蛋疼君发现了网站存在漏洞,通过利用漏洞,把WebShell写到上传图片的目录中。他成功上传了,因为图片目录可写。然后,他打开上传的文件,因为目录内的文件不可执行,只能读取,所以服务器会报404错误。

Linux下配置Tomcat并允许指定身份用户管理服务

http://www.linuxidc.com/Linux/2014-11/109328.htm




修改linux文件权限命令:chmod

http://www.cnblogs.com/avril/archive/2010/03/23/1692809.html