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...

tomcat-7.0.54配置管理员帐号密码

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

tomcat7配置管理员帐号密码

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

Tomcat 7.0 Manager 访问需要用户名与密码

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

如何修改tomcat7的端口和用户名密码?

1.tomcat目录下,conf/server.xml修改端口 启动tomcat后,在网页中输入:http://localhost:8080/  ,显示一只猫则成功。 ...

学习STL map, STL set之数据结构基础

学习STL map, STL set之数据结构基础2006年08月26日 星期六 08:57 作者: winter    摘自:h...

Tomcat 7.0后 设置应用管理(Tomcat Manager )的账号密码

Tomcat 7.0后 设置应用管理(Tomcat Manager )的账号密码  1,输入http://localhost:8080/后,点击manager app这个位置位置是进入tomca...

使用Adsutil.vbs脚本获取IIS配置信息及账号密码

今晚在搞http://gov.com.im/的时候拿下旁站权限,但不能夸到目标站的目录下,眼看目标就在眼前却被最后一道关卡给卡死了。之前也有尝试过pr提权,单asp一执行pr就卡死了。。    ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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