web服务器专题:tomcat(三)tomcat-user.xml 配置文件
回顾:web服务器专题:tomcat(二)模块组件与server.xml 配置文件
Tomcat管理模块
安装Tomcat后,访问127.0.0.1/8080可以看到这个首页,上图中的三个按钮即为Tomcat的管理功能,该模块是为了方便用户管理Tomcat的web应用,以及查看tomcat的状态而设。该模块的相关控制文件主要为 /conf/tomcat-users.xml
Server Status
该部分为整个tomcat服务的状态监听,页面内提供基本的tomcat运行状态及内存运行情况,便于运维人员查看。
Manager App
当前tomcat部署的web应用管理平台,提供对web应用的部署及卸载功能,可以在线部署应用,以及控制应用的启停、会话。
Host Manager
查看 Tomcat 虚拟机管理器,本质即是对<host>标签的管理
Tomcat-user内置角色及权限
Tomcat的角色管理通过tomcat-users.xml文件控制,一下为一个tomcat-users.xml实例
<tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="tomcat" password="tomcat" roles="manager-gui"/> <user username="admin" password="admin" roles="manager-script"/> </tomcat-users>
<role>标签为角色,rolename属性为角色名称,这里的rolename不是自定义的,而是tomcat内置的。配置好角色后,<user>标签则为我们自定义的标签,即我们定义一个用户,username为账号名称,password为密码,roles属性则为以上定义好的<role>标签的rolename,可以通过 “,” 隔开配置一个用户拥有多个角色权限。
Tomcat针对manager内置了6个角色,分别为 admin-gui , admin-script , manager-gui , manager-script , manager-status , manager-jmx
- 负责Server Status、Manager App 功能的角色
manager-gui:访问 HTML 页面
manager-status:仅访问 “服务器状态” 页面
manager-script:访问脚本页面,以及 “服务器状态” 页面
manager-jmx:访问 JMX 代理接口和 “服务器状态” 页面
- 负责 Host Manager 功能的角色
admin-gui:访问HTML页面
admin-script: 访问脚本页面
一个栗子
这里基于新部署安装的tomcat(实际tomcat 9)进行一次全部权限的放开,作为一个实际操作的例子流程。(声明:实际生产不建议以下操作,会造成极高的安全问题)
对 管理功能 的全部放开,即tomat首页中的 Server Status,Manager App,Host Manager 功能全部开放,首先进入tomcat的/conf目录下,打开tomcat-users.xml文件,复制以下内容到配置文件中。
<role rolename="admin-gui"/> <role rolename="admin-script"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="admin" roles="admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>
这里将所有的角色role进行了声明,然后定义了一个admin的账户,将所有的角色都赋予它,使他用于全部权限。
然后将/webapps/manager/META-INF/和webapps/host-manager/META-INF/下的context.xml进行修改(manager和host-manager目录下的context.xml两个都要改)
将context.xml的只针对本地请求放行这一设置注释掉即可,如下:
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
至此,tomcat首页即可使用设置的admin账号访问管理页面了(tomcat配置修改后无需重新启动也可加载)。
web服务器专题:tomcat(三)tomcat-user.xml 配置文件的更多相关文章
- web服务器专题:tomcat(二)模块组件与server.xml 配置文件
web服务器专题:tomcat(二)模块组件与server.xml 配置文件 回顾: Web服务器专题:tomcat(一) 基础模块 一个Server.xml的实例 <?xml version= ...
- web服务器专题:tomcat基础及模块
Web服务器专题:Tomcat(一)基础架构 针对java系的经典服务器,打算系统的整理一下Tomcat的机制和一些原理,以此记录. 插一则题外话,关于tomat这个名字的由来:Tomcat 名称的由 ...
- JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器
注意:此为2009年的blog,注意时效性(针对常见服务器) APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...
- WEB服务器搭建(Apache+Tomcat+eclipse)
1.下载xampp安装,选择Apache+MySQL+Tomcat 官方下载链接:https://www.apachefriends.org/zh_cn/download.html 2.下载安装jav ...
- Tomcat学习笔记【1】--- WEB服务器、JavaEE、Tomcat背景、Tomcat版本
本文主要讲学习Tomcat需要知道的基础知识. 一 Web服务器 1.1 简介 Web服务器可以解析HTTP协议.当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面 ...
- WEB服务器:Apache、Tomcat、JBoss、WebLogic、Websphere、IIS的区别与关系
1)Apache 免费,世界使用排名第一的Web服务器.它可以运行在几乎所有广泛使用的计算机平台上.Apache的特点是简单.速度快.性能稳定,并可做代理服务器来使用.Apache是以进程为基础的结 ...
- Tomcat下的Server.xml配置文件详解
自15年毕业到现在已经入行两年多了,一直以来没有深入的了解过tomcat的详细配置,只懂修改一下端口号.在网上找了些相关资料来支撑这篇文章,深入了解server.xml文件各配置的作用 <?xm ...
- 如何搭建一个WEB服务器项目(三)—— 实现安卓端联网登录
安卓端调用服务器登录函数进行验证登录 观前提示:本系列文章有关服务器以及后端程序这些概念,我写的全是自己的理解,并不一定正确,希望不要误人子弟.欢迎各位大佬来评论区提出问题或者是指出错误,分享宝贵经验 ...
- Web服务器与客户端三种http交互方式
近期在对接项目时用到http方式与第三方交互数据,由于中间沟通不足导致走了不少弯路,至此特意花了点时间总结服务端与客户端数据交互的方式,本地搭建两个项目一个作为服务端,一个作为客户端.post可以有两 ...
随机推荐
- python-基础入门-5(模块、类和对象)
模块 模块用import来调用,例如 from sys import argv 调用sys中argv模块 在模块里有多个def的函数 import调用全部或其中一个 类和对象 下面定义了一个类 1 c ...
- C#推流RTMP,摄像头、麦克风、桌面、声卡(附源码)
这段时间一直都在研究推流的技术,经过断断续续将近两个月的摸索实践,终于能稳定地推流了. 这个demo的主要功能就是将采集到的摄像头或桌面的视频.以及麦克风或声卡的音频数据推到Nginx-RTMP服务器 ...
- CorelDRAW中的合并和群组功能
在设计过程中,对象就是我们进行操作的主体,这个操作主体可以是单个对象,也可以是多个对象,在有多个对象要进行处理时,就需要用到类似CorelDRAW里的合并和群组这两个功能了. 一.合并与拆分 合并功能 ...
- pdfFactory如何设置限制打印和浏览文档权限
当我们进行私密文件的分享时,除了要设置密码保护文件内容外,还要注意设置打印限制,防止他人利用打印的方式,进行纸质文件的传播. 在使用pdfFactory安全策略时,我们可以通过设定禁止打印的方式,完全 ...
- 「CSP-S 2019」格雷码
[题目描述] 传送门 [题解] 题目中已经清楚地告诉你怎么用n位格雷码推n+1位格雷码, 直接二叉树模拟即可 注意要使用unsigned long long(如果这道题没有95分部分分,不知道有多少人 ...
- linux上的PXE装机服务的搭建
PXE 先安装一下依赖服务 yum -y install vsftpd dhcp tftp syslinux tftp-server cd /var/ftp/pub/ mkdir dvd 设置权限 c ...
- MindSpore手写数字识别初体验,深度学习也没那么神秘嘛
摘要:想了解深度学习却又无从下手,不如从手写数字识别模型训练开始吧! 深度学习作为机器学习分支之一,应用日益广泛.语音识别.自动机器翻译.即时视觉翻译.刷脸支付.人脸考勤--不知不觉,深度学习已经渗入 ...
- Docker Vs Podman
翻译自 Chetansingh 2020年4月24日的博文<Docker Vs Podman> [1] 容器化的一场全新革命是从 Docker 开始的,Docker 的守护进程管理着所有的 ...
- 使用Git,10件你可能需要“反悔”的事
DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师.官方网站:devui.designNg组件库:ng-devui(欢迎S ...
- vue上传视屏或者图片到七牛云
首先下载七牛云的JavaScript-SDK npm install qiniu-js 下载完成JavaScript-SDK以后就可以上传图片信息了 <template> <div& ...