【第22期】观点:IT 行业加班,到底有没有价值?

tomcat7.0账号密码配置教程

原创 2015年07月07日 07:57:57

1.介绍

     在许多生产环境里,这种能力很重要,那就是在不需要关闭和重新启动整个容器的情况下能够部署一个新的web程序,或者反部署一个现有的程序。另外, 你能要求一个现有应用程序再装载它自己,既使你还没有在Tomcat 服务器配置文件里声明它是可以被重新装载的。

     为了支持这种能力,Tomcat 包含了一个web程序(默认安装在./webapps /manager上),它支持以下这些功能:
         1.从上载的(uploaded)WAR文件内,把新的web程序部署到指定的./webapps/上去。
         2.在指定的上下文路径上部署新的网络应用程序,从服务器文件系统。
         3.列出当前部署的web程序,以及这些web程序的活跃着的sessions。
         4.重新装载现有的web程序,以反映出/WEB-INF/classes 或 /WEB-INF/lib 里内容的更改。
         5.列出OS和Java虚拟器(JVM)属性值(property values)。
         6.列出可使用的全球性JNDI资源, 供给正在准备ResourceLink套嵌在Context 的元素;部署描述的开发工具使用。
         7.列出用户数据库里定义的可用安全性功能。
         8.启动运行一个被停止了的程序(让它可再被使用)。
         9.停止一个现有的程序(这样它就变成不可被使用),但是不反部署它。

2.账号密码配置原因

        如果Tomcat里的默认设置允许互联网上的任何人在你的服务器上执行管理员程序(the Manager application),那就相当不安全了。因此,管理员程序要求每一个使用它的人通过使用带有管理员(manager)角色的用户名称和密码证实它们自己的身份。更进一步,在默认的用户文件中($CATALINA_HOME/conf/tomcat-users.xml)没有用户名称被指派这个角色。因此,以默认的形式是完全不可能访问管理员程序的。

        为了能进入管理员程序进行存取,你必须产生一个新的用户名称/密码组合,并把它们与管理员(manager)角色联系在一起,或者把管理员(manager)角色添加给现有的用户名称/密码组合。

3.权限分析

       下面的描述使用变量名$catalina_base指根目录的相对路径来解决。如果你没有配置Tomcat的多个实例,通过设置一个catalina_base目录,然后$catalina_base将被设置为$catalina_home\目录到你安装Tomcat。

       这将是非常不安全的默认设置,允许任何人在互联网服务器上执行管理应用Tomcat。因此,管理应用是运行的要求,任何人谁试图使用它必须验证自己,使用一个用户名和密码,管理性别角色与他们(角色名称取决于对什么是功能性需要)。此外,没有用户名在默认用户文件(($CATALINA_BASE/conf/tomcat-users.xml),分配给这些角色。因此,默认情况下,访问管理程序的应用程序是完全禁用的。

你可以找到这些角色的名字在$CATALINA_BASE/webapps/manager/WEB-INF/web.xml

web.xml中可找到如下内容:

  <!-- Security roles referenced by this web application -->
  <security-role>
    <description>
      The role that is required to access the HTML Manager pages
    </description>
    <role-name>manager-gui</role-name>
  </security-role>
  <security-role>
    <description>
      The role that is required to access the text Manager pages
    </description>
    <role-name>manager-script</role-name>
  </security-role>
  <security-role>
    <description>
      The role that is required to access the HTML JMX Proxy
    </description>
    <role-name>manager-jmx</role-name>
  </security-role>
  <security-role>
    <description>
      The role that is required to access to the Manager Status pages
    </description>
    <role-name>manager-status</role-name>
  </security-role>

         tomcat这个HTML管理界面可以免受CSRF(跨站请求伪造)的攻击,但文字和JMX接口不能被保护。这意味着,那些被允许进入文本和JMX接口用户谨慎访问通过Web浏览器管理应用程序时保持CSRF保护。

        如果您使用Web浏览器访问应用程序管理器使用的用户脚本管理或管理(例如纯文本或JMX接口测试)JMX的角色,你必须关闭所有窗口的浏览器之后终止会话。如果你不关闭浏览器并访问其他网站,你可能成为一个CSRF攻击的受害者。
        建议不要给manager-script 或manager-jmx用户分配 manager-gui 角色。
        注意,JMX代理接口是有底层权限像Tomcat页面管理权限。如果他知道什么命令调用,他可以做很多事。所以你应该谨慎使manager-jmx角色。

4.配置管理应用程序权限

总结如下:
    manager-gui — 访问的HTML界面。
    manager-status — 只能访问“服务器状态”页。
    manager-script — 在本文档中描述的友好的纯文本界面的访问,以及“服务器状态”页。
    manager-jmx — 访问JMX代理接口和“服务器状态”页面。

        在($CATALINA_HOME/conf/tomcat-users.xml 添加一个超级管理员,账号为admin密码为admin组合

tomcat-users.xml配置文件修改后内容如下:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager-gui,manager-script,manager-jmx,manager-status"/>
  <user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
</tomcat-users>

现在解释如下: 

 <role rolename="manager-gui,manager-script,manager-jmx,manager-status"/>
这句话添加了四种角色

    manager-gui — 访问的HTML界面。
    manager-status — 只能访问“服务器状态”页。
    manager-script — 在本文档中描述的友好的纯文本界面的访问,以及“服务器状态”页。
    manager-jmx — 访问JMX代理接口和“服务器状态”页面。

<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
这句话添加了账号admin,密码admin,角色为超级管理员即所有权限
只在本地开发所以这样设置了,当然更安全的做法是添加不同权限的用户来管理你的tomcat服务器。

版权声明:作者:星云 交流即分享,分享才能进步! 举报

相关文章推荐

tomcat7.0用户名和密码配置

[html] view plain copy tomcat-users.xml里面最后加上以下   [html] view plain copy ...

Tomcat 7.0用户名与密码的设置问题

不同于以往的Tomcat版本,Tomcat7.0将manager角色细化为manager-gui,manager-script,manager-jmx,manager-status,所以要使用Tomc...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

关于tomcat7用户名和密码的问题

1.打开tomcat的安装目录下的conf的tomcat-users.xml文件,拉到最下方,可以看到如下所示,先将注释除去,即34行与 40行。 2.将注释中的代码改为如下图所示 ...

tomcat7配置用户的一点问题

tomcat7配置用户时,与tomcat6不同。 会有一个错误。 1、tomcat不配置conf/tomcat-users.xml或者配置不对时。会发生以下错误: 2、...

tomcat7配置管理员帐号密码

tomcat7默认是将用户是注释的,配置文件在根目录下/conf/tomcat-users.xml文件,进入tomcat目录下的conf中的tomcat-users.xml: 配置默认如下: ...

Tomcat安装及配置教程

1、根据系统下载32bit/64bit压缩包(最下面那个是32bit的,倒数第二个是64bit的) 2、解压到D盘目录,如下 3、配置环境变...

IntelliJ IDEA Tomcat配置 详解

1> 进入 Edit Configurations 2> 点击 + ,选择 Tomcat 服务器,如果是本地Tomcat 选择 Local 3> Tomcat Se...

Tomcat7.0配置教程

1、Tomcat 7.0 (请到官网下载)的免安装版的配置(假如将Tomcat 解压到C:\Program Files目录,目录结构为:C:\Program Files\apache-tomcat-7...

非常详细图文JDK和Tomcat安装和配置的图文教程

想用Tomcat作为服务器,必须分以下两步。一,下载、安装JDK,并且配置好环境变量。 1,下载地址: http://www.oracle.com/technetwork/java/javase/d...

tomcat发布web service教程

这几天一直在准备找工作,自学了关于web service的一些基本的内容,也遇到了不少问题。现在就把我自己学到的知识和大家分享一下,由于是初学,所以有什么错误的地方请大家帮忙指正,感激不尽~~!! ...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)