在 Ubuntu 上给 Tomcat 日志设置权限,核心目标是:
✅ Tomcat 能写日志
✅ 不滥用 root 权限
✅ 方便运维查看
下面按最常见、最安全的方式说明。
通常在这里之一:
/var/log/tomcat9/
/opt/tomcat/logs/
/usr/local/tomcat/logs/
以 Tomcat 9 + Ubuntu 为例,默认是:
/var/log/tomcat9/
Ubuntu 下 Tomcat 一般使用系统用户:
ps aux | grep tomcat
常见用户:
tomcattomcat9例如:
tomcat9 1234 ... org.apache.catalina.startup.Bootstrap
✅ 日志目录必须属于这个用户
sudo chown -R tomcat9:tomcat9 /var/log/tomcat9
sudo chmod 750 /var/log/tomcat9
sudo chmod 640 /var/log/tomcat9/*
✅ 效果:
sudo mkdir -p /var/log/tomcat9
sudo chown tomcat9:tomcat9 /var/log/tomcat9
sudo chmod 750 /var/log/tomcat9
检查 service 文件:
systemctl cat tomcat9
确认有以下内容(或类似):
User=tomcat9
Group=tomcat9
如果有改过,重启生效:
sudo systemctl daemon-reload
sudo systemctl restart tomcat9
检查:
ls -ld /var/log/tomcat9
ls -l /var/log/tomcat9
错误示例:
-rw-r--r-- root root catalina.out
✅ 修复:
sudo chown tomcat9:tomcat9 /var/log/tomcat9/catalina.out
通常是:
root 占用700 但非 Tomcat 用户sudo apt install logrotate
Ubuntu 自带 Tomcat 的 logrotate 配置:
/etc/logrotate.d/tomcat9
内容示例:
/var/log/tomcat9/*.log {
daily
rotate 7
compress
missingok
notifempty
create 640 tomcat9 adm
}
✅ 自动轮转 + 权限正确
sudo chown -R tomcat9:tomcat9 /var/log/tomcat9
sudo chmod 750 /var/log/tomcat9
sudo chmod 640 /var/log/tomcat9/*
sudo systemctl restart tomcat9
如果你愿意,可以告诉我:
我可以给你完全针对你服务器的一行命令方案。