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服务器。

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

设置Tomcat管理员用户名和密码

今天tomcat出点问题,然后我就想进入tomcat manager看看,结果怎么输入密码都不行,后来网上查了查才找到配置管理员用户名和密码的正确方式,在此记录一下:       要想配置...
  • u011955252
  • u011955252
  • 2016年12月05日 17:21
  • 4679

为Tomcat添加用户

直接解压缩安装Tomcat的话,因为没有管理员账户,无法访问管理页面。因此需要添加必需的角色和用户。在google了相关资料之后,终于找到了配置角色和用户的方法,现记录如下。 找到Tomcat的安装...
  • u010416101
  • u010416101
  • 2015年03月04日 12:16
  • 2134

修改tomcat的用户密码

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。 深蓝的blog:            当需要登陆tomcat管理界面时,需要用户名和密码,我们可...
  • huangyanlong
  • huangyanlong
  • 2015年02月27日 17:35
  • 4112

tomcat 添加用户

1,  打开tomcat的安装目录下的\conf\tomcat-users.xml文件,在文件中添加    这个是添加角色,并给角色设置名称。 添加用户, 设置用户的用户名(usern...
  • luxideyao
  • luxideyao
  • 2013年07月11日 22:33
  • 1050

tomcat登录的用户名和密码

在tomcat下的conf/tomcat-user.xml中:   NOTE:  By default, no user is included in the "manager-gui" r...
  • Sweblish
  • Sweblish
  • 2011年11月04日 09:04
  • 22301

Tomcat配置用户名和密码

tomcat6.0配置用户名和密码: 1.找到根目录下/conf/tomcat-users.xml 2.在中添加如下:       3.保存后启动tomcat,用...
  • Mr_zhiqiu
  • Mr_zhiqiu
  • 2016年05月23日 22:42
  • 2449

Tomcat用户名和密码问题

解压版的tomcat在解压之后,如何设置账户和密码? 解压版的tomcat默认是没有账号和密码的,所以不能再首页登陆的。 设置账号和密码的方法: 在conf文件夹下的tomcat-users.x...
  • u014482758
  • u014482758
  • 2014年12月09日 19:49
  • 3864

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

1.打开tomcat的安装目录下的conf的tomcat-users.xml文件,拉到最下方,可以看到如下所示,先将注释除去,即34行与 40行。 2.将注释中的代码改为如下图所示 ...
  • sxl871532815
  • sxl871532815
  • 2016年10月12日 23:04
  • 965

tomcat7配置管理员帐号密码

tomcat7默认是将用户是注释的,配置文件在根目录下/conf/tomcat-users.xml文件,进入tomcat目录下的conf中的tomcat-users.xml: 配置默认如下: ...
  • savagelin
  • savagelin
  • 2015年02月14日 16:54
  • 3725

2014版tomcat7配置管理员帐号密码

tomcat7默认是将用户是注释的,配置文件在根目录下/conf/tomcat-users.xml文件,进入tomcat目录下的conf中的tomcat-users.xml: 配置默认如下:  ...
  • bonlog
  • bonlog
  • 2013年07月10日 11:49
  • 12621
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tomcat7.0账号密码配置教程
举报原因:
原因补充:

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