在 Debian 上给 Tomcat 设置用户(用于访问管理界面、部署应用等),通常是配置 tomcat-users.xml。下面按常见场景一步步说明。
Tomcat 的用户和角色都在:
/etc/tomcat9/tomcat-users.xml
如果你用的是 Tomcat 8/10,路径可能是
/etc/tomcat8/或/etc/tomcat10/
sudo nano /etc/tomcat9/tomcat-users.xml
在 <tomcat-users> 标签内添加用户和角色,例如:
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin123" roles="manager-gui,admin-gui"/>
<user username="deployer" password="deploy123" roles="manager-script"/>
</tomcat-users>
| 角色 | 说明 |
|---|---|
manager-gui |
Web 管理界面 |
admin-gui |
Host Manager |
manager-script |
脚本/命令行部署 |
manager-jmx |
JMX 访问 |
manager-status |
状态页面 |
Debian 默认 只允许 localhost 访问管理页面。
sudo nano /usr/share/tomcat9-admin/manager/META-INF/context.xml
注释或删除:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
或改成允许所有(不推荐生产环境):
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow=".*" />
sudo nano /usr/share/tomcat9-admin/host-manager/META-INF/context.xml
sudo systemctl restart tomcat9
浏览器访问:
http://服务器IP:8080/manager/html
登录用户:admin
密码:admin123
如果你指的是 Linux 系统用户运行 Tomcat,Debian 默认已创建:
cat /etc/passwd | grep tomcat
Tomcat 通常以 tomcat 用户运行,不建议用 root。
如果你愿意,可以告诉我:
我可以给你更精确的配置。