温馨提示×

Debian Tomcat日志权限如何设

小樊
43
2026-08-24 01:33:47
栏目: 智能运维

在 Debian 上设置 Tomcat 日志权限,核心目标是:
✅ Tomcat 能正常写入日志
✅ 不被其他用户随意访问(尤其是 catalina.out 可能包含敏感信息)
✅ 使用 Debian 推荐的目录和权限规范

下面分情况说明。


一、Debian 上 Tomcat 日志的默认位置

常见路径(取决于安装方式):

安装方式 日志目录
apt 安装 /var/log/tomcat9/(或 tomcat10)
官方 tar.gz $CATALINA_HOME/logs/

Debian apt 安装的 Tomcat 不会使用 catalina.out,而是使用 systemd journal + 日志文件。


二、推荐权限设置(最常用)

1️⃣ 确认 Tomcat 运行用户

Debian 默认是:

tomcat9

查看:

ps aux | grep tomcat

或:

grep TOMCAT_USER /etc/default/tomcat9

2️⃣ 设置日志目录权限(关键)

sudo chown -R tomcat9:tomcat9 /var/log/tomcat9
sudo chmod 750 /var/log/tomcat9

解释:

  • 750:owner 可读写执行,group 可读执行,其他用户无权限
  • 防止普通用户查看日志

3️⃣ 日志文件权限

sudo chmod 640 /var/log/tomcat9/*

结果示例:

-rw-r----- 1 tomcat9 tomcat9  catalina.2026-01-21.log
-rw-r----- 1 tomcat9 tomcat9  localhost.log

✅ Tomcat 可写
✅ root 可读
✅ 其他用户无权


三、catalina.out 权限(如果你有)

如果你使用的是 非 apt 安装,或手动开启了 catalina.out

sudo chown tomcat9:tomcat9 /opt/tomcat/logs/catalina.out
sudo chmod 640 /opt/tomcat/logs/catalina.out

⚠️ 不建议长期使用 catalina.out,推荐用 logging.properties 或 logrotate


四、systemd 环境(Debian 默认)

Debian 使用 systemd,不要手动创建 catalina.out

查看日志:

journalctl -u tomcat9

或:

tail -f /var/log/tomcat9/catalina.out

(如果启用)


五、logrotate 权限(很重要)

Debian 自带:

/etc/logrotate.d/tomcat9

确保其中有:

create 640 tomcat9 tomcat9

否则轮转后 Tomcat 可能无法写日志。


六、SELinux / AppArmor 说明

  • Debian 默认不启用 SELinux
  • 如使用 AppArmor,确保:
/var/log/tomcat9/** rw,

否则日志写不进去。


七、快速检查清单 ✅

ls -ld /var/log/tomcat9
ls -l /var/log/tomcat9
ps aux | grep tomcat

八、推荐标准配置(总结)

用户: tomcat9
目录: /var/log/tomcat9
目录权限: 750
文件权限: 640
轮转权限: 640

如果你愿意,可以告诉我:

  • Debian 版本(11 / 12)
  • Tomcat 版本(9 / 10)
  • 是否 apt 安装

我可以给你 完全针对你环境的精确配置

0