在 Debian 上设置 Tomcat 日志权限,核心目标是:
✅ Tomcat 能正常写入日志
✅ 不被其他用户随意访问(尤其是 catalina.out 可能包含敏感信息)
✅ 使用 Debian 推荐的目录和权限规范
下面分情况说明。
常见路径(取决于安装方式):
| 安装方式 | 日志目录 |
|---|---|
| apt 安装 | /var/log/tomcat9/(或 tomcat10) |
| 官方 tar.gz | $CATALINA_HOME/logs/ |
Debian apt 安装的 Tomcat 不会使用 catalina.out,而是使用 systemd journal + 日志文件。
Debian 默认是:
tomcat9
查看:
ps aux | grep tomcat
或:
grep TOMCAT_USER /etc/default/tomcat9
sudo chown -R tomcat9:tomcat9 /var/log/tomcat9
sudo chmod 750 /var/log/tomcat9
解释:
750:owner 可读写执行,group 可读执行,其他用户无权限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
Debian 使用 systemd,不要手动创建 catalina.out。
查看日志:
journalctl -u tomcat9
或:
tail -f /var/log/tomcat9/catalina.out
(如果启用)
Debian 自带:
/etc/logrotate.d/tomcat9
确保其中有:
create 640 tomcat9 tomcat9
否则轮转后 Tomcat 可能无法写日志。
/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
如果你愿意,可以告诉我:
我可以给你 完全针对你环境的精确配置。