debian

Debian下Tomcat如何进行权限管理

小樊
40
2025-11-06 04:10:02
栏目: 智能运维

1. 创建专用Tomcat用户和组
避免使用root用户运行Tomcat,降低安全风险。执行以下命令创建系统用户(无登录shell)和同名的组:

sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

2. 配置Tomcat目录权限
将Tomcat安装目录(如/opt/tomcat)的所有权转移至tomcat用户和组,确保其拥有读写执行权限,其他用户仅能读取和执行:

sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R 750 /opt/tomcat  # 目录权限:所有者可读写执行,组和其他用户仅可读执行
sudo chmod +x /opt/tomcat/bin/*.sh  # 允许执行启动/停止脚本

3. 创建systemd服务文件
通过systemd管理Tomcat服务,强制其以tomcat用户身份运行。创建/etc/systemd/system/tomcat.service文件,内容如下:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/default-java"
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
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

重新加载systemd配置并启动服务:

sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat  # 开机自启

4. 配置Tomcat Web管理界面权限
编辑/opt/tomcat/conf/tomcat-users.xml文件,添加具有管理角色的用户(如admin),并分配manager-gui(Web管理界面)、admin-gui(管理员控制台)角色:

<tomcat-users>
  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <user username="admin" password="securePassword" roles="manager-gui,admin-gui"/>
</tomcat-users>

保存后重启Tomcat使配置生效:

sudo systemctl restart tomcat

5. 高级权限与安全优化

6. 验证配置

0
看了该问题的人还看了