Ubuntu中Tomcat的权限管理如何操作
小樊
36
2025-12-30 18:14:15
Ubuntu 下 Tomcat 权限管理实操指南
一 运行身份与最小权限
- 创建专用的系统用户与组(禁止 root 直接运行):sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
- 目录归属建议:将 Tomcat 安装目录属主设为 tomcat:tomcat,便于进程对相关目录进行读写;对配置目录仅授予组读权限与目录执行权限,避免过宽权限。
- 最小权限示例(按目录细化):
- 配置目录:sudo chgrp -R tomcat /opt/tomcat/conf;sudo chmod -R g+r /opt/tomcat/conf;sudo chmod g+x /opt/tomcat/conf
- 可执行脚本:sudo chmod +x /opt/tomcat/bin/*.sh
- 运行期目录:sudo chown -R tomcat /opt/tomcat/webapps /opt/tomcat/work /opt/tomcat/temp /opt/tomcat/logs
- 说明:Tomcat 9/10 建议使用 OpenJDK 11;以上权限设置可在不影响功能的前提下降低被提权风险。
二 systemd 服务与进程权限
- 创建服务单元 /etc/systemd/system/tomcat.service,以 tomcat 用户运行,并显式设置 JAVA_HOME、CATALINA_HOME/BASE、内存与 GC 参数;示例关键项:
- User=tomcat;Group=tomcat
- Environment=“JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64”
- Environment=“CATALINA_PID=/opt/tomcat/temp/tomcat.pid”
- Environment=“CATALINA_HOME=/opt/tomcat”;Environment=“CATALINA_BASE=/opt/tomcat”
- Environment=“CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC”
- ExecStart=/opt/tomcat/bin/startup.sh;ExecStop=/opt/tomcat/bin/shutdown.sh
- 可选安全项:UMask=0007(文件默认仅属主与同组可读写执行)
- 使配置生效并管理:sudo systemctl daemon-reload;sudo systemctl start tomcat;sudo systemctl enable tomcat
- 说明:以专用用户运行并通过 systemd 管理,可避免以 root 身份启动 Web 容器,降低攻击面。
三 管理界面与角色权限
- 管理界面文件:/opt/tomcat/conf/tomcat-users.xml。建议仅保留必要账户,禁用默认示例账户;为不同用途分配最小角色:
- 手动管理后台:manager-gui
- 脚本/CI 自动部署:manager-script
- JMX 监控:manager-jmx
- 状态查看:manager-status
- 主机管理(若启用):admin-gui、admin-script
- 示例(请务必修改密码并妥善保管):
- 说明:不同角色对应不同访问面,遵循最小权限原则,避免将 GUI 与 Script 混用在同一账户。
四 网络访问控制
- 防火墙放行:仅开放必要端口(如 8080/8443)。UFW 示例:sudo ufw allow 8080/tcp;如需限制来源可:sudo ufw allow from 192.168.1.100 to any port 8080
- 管理界面来源限制:在 /opt/tomcat/conf/server.xml 的 或 中添加 RemoteAddrValve,仅允许内网或跳板机访问管理应用,例如:
- 说明:对管理口实施来源 IP 白名单,可显著降低暴力破解与管理面暴露风险。
五 文件与目录权限清单与快速检查
- 推荐权限矩阵(示例路径以 /opt/tomcat 为准):
- 目录/文件:/opt/tomcat/conf | 属主:root:tomcat | 权限:750(rwxr-x—) | 说明:配置仅管理员与 tomcat 组可读
- 目录/文件:/opt/tomcat/bin/*.sh | 属主:root:tomcat | 权限:750 | 说明:脚本需可执行
- 目录/文件:/opt/tomcat/webapps | 属主:tomcat:tomcat | 权限:755/775 | 说明:部署与自动解压
- 目录/文件:/opt/tomcat/work /temp /logs | 属主:tomcat:tomcat | 权限:755/775 | 说明:运行期读写
- 目录/文件:/opt/tomcat/lib | 属主:root:tomcat | 权限:755/775 | 说明:共享库
- 快速自检命令:
- 查看运行用户:ps -eo pid,user,cmd | grep tomcat
- 查看端口监听:ss -ltnp | grep ‘:8080|:8443’
- 实时查看日志:tail -f /opt/tomcat/logs/catalina.out
- 说明:按“配置只读、运行可写、脚本可执行、管理面隔离”的原则分配权限,并定期审计。