如何配置Ubuntu Tomcat访问权限
导读:Ubuntu 上 Tomcat 访问权限配置 一 运行账户与目录权限 创建专用的系统用户运行 Tomcat,禁止 root 直接运行,提升安全性: 创建用户与组:sudo useradd -m -U -d /opt/tomcat -s...
Ubuntu 上 Tomcat 访问权限配置
一 运行账户与目录权限
- 创建专用的系统用户运行 Tomcat,禁止 root 直接运行,提升安全性:
- 创建用户与组:sudo useradd -m -U -d /opt/tomcat -s /bin/false 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
- 说明:避免使用 777 这类过宽权限,优先采用基于用户/组的精细化授权。
二 远程访问与防火墙
- 监听地址与端口:编辑 /opt/tomcat/conf/server.xml,在 HTTP Connector 中设置 address 与端口,例如:
- 防火墙放行(UFW 示例):sudo ufw allow 8080/tcp;如需白名单:sudo ufw allow from 192.168.1.100 to any port 8080
- 云服务器场景:除本机防火墙外,还需在云平台安全组放行对应端口(如 8080/TCP)。
三 管理界面与角色权限
- 编辑 /opt/tomcat/conf/tomcat-users.xml,为管理界面创建受限账户与最小角色:
- 建议仅赋予必要角色,禁用默认示例账户;示例:
- 建议仅赋予必要角色,禁用默认示例账户;示例:
- 出于安全考虑,生产环境可限制管理接口的访问来源(如仅内网或跳板机)。
四 可选 基于组的团队协作授权
- 创建业务组(如 webadmin),将需要管理 Tomcat 的人员加入该组,并按需授权目录:
- 建组与用户:sudo adduser webadmin;将相关人员加入组:sudo usermod -aG webadmin alice
- 目录授权示例:
- 配置目录对组可读:sudo chown -R root:webadmin /opt/tomcat/conf;sudo chmod -R g+r /opt/tomcat/conf;sudo chmod g+x /opt/tomcat/conf
- 工作目录对组可写:sudo chown -R tomcat:webadmin /opt/tomcat/webapps /opt/tomcat/logs /opt/tomcat/work /opt/tomcat/temp
- 这样可在不赋予系统 root 权限的前提下,实现团队成员对 Tomcat 的安全协作。
五 systemd 服务与最小权限运行
- 创建服务文件 /etc/systemd/system/tomcat.service,以 tomcat 用户运行:
- [Unit]
- Description=Apache Tomcat Web Application Container
- After=network.target
- [Service]
- Type=forking
- 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”
- ExecStart=/opt/tomcat/bin/startup.sh
- ExecStop=/opt/tomcat/bin/shutdown.sh
- [Install]
- WantedBy=multi-user.target
- [Unit]
- 使配置生效并启动:sudo systemctl daemon-reload;sudo systemctl start tomcat;sudo systemctl enable tomcat
- 验证:sudo systemctl status tomcat;日志:tail -f /opt/tomcat/logs/catalina.out。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何配置Ubuntu Tomcat访问权限
本文地址: https://pptw.com/jishu/784958.html
