首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Tomcat Manager 應用管理介面:預設用戶/密碼配置與角色權限詳解

     編輯:Java 相關知識

Tomcat Manager (`/manager/html`) 提供應用部署/啟停/會話監控 Web 介面,**預設無用戶,需手動配置 `tomcat-users.xml`**。

配置文件位置

`$CATALINA_HOME/conf/tomcat-users.xml`

標準配置範例

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
    <role rolename="manager-gui"/>        <!-- Web 介面 -->
    <role rolename="manager-script"/>      <!-- 文字介面 (腳本/自動化) -->
    <role rolename="manager-jmx"/>         <!-- JMX 代理 -->
    <role rolename="manager-status"/>      <!-- 只讀狀態 -->
    <role rolename="admin-gui"/>           <!-- Host Manager -->
    <role rolename="admin-script"/>

    <user username="admin" password="StrongPass123!" roles="manager-gui,manager-script,admin-gui"/>
    <user username="deploy" password="DeployPass456@" roles="manager-script"/> <!-- CI/CD 專用 -->
</tomcat-users>

角色權限對照

角色用途典型 URL
manager-guiHTML 管理介面/manager/html
manager-script文字介面 (部署/重載/列表)/manager/text
manager-jmxJMX 代理 Servlet/manager/jmxproxy
manager-status只讀狀態頁面/manager/status
admin-gui虛擬主機管理介面/host-manager/html
admin-script虛擬主機文字介面/host-manager/text

安全最佳實踐

  • **禁用預設用戶** (tomcat/tomcat, admin/admin 等) —— 被掃描器秒破解。
  • **強密碼** (16+ 字元、大小寫、數字、符號)。
  • **最小權限原則**:CI/CD 只給 `manager-script`,人工運維給 `manager-gui`。
  • **限制訪問 IP**:在 `META-INF/context.xml` (Manager 應用自身) 配置 `RemoteAddrValve`:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
       allow="127.0.0.1|10.0.0.1|192.168.1.100" />
  • **生產環境考慮關閉 Manager**,改用腳本/Ansible/K8s 部署。

重啟生效

修改 `tomcat-users.xml` 後,**必須重啟 Tomcat** (或至少重載 Manager 應用)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved