在 Debian 上配置 Tomcat 日志权限,通常从 日志目录归属、umask、logrotate、systemd 服务 几个方面入手。下面按常见场景说明。
Debian 上 Tomcat 一般用户是:
tomcat
# 或
tomcat9
查看:
ps aux | grep tomcat
/var/log/tomcat9
或
/opt/tomcat/logs
sudo chown -R tomcat:tomcat /var/log/tomcat9
sudo chmod 750 /var/log/tomcat9
sudo chmod 640 /var/log/tomcat9/*
说明:
750:属主可写,组可读640:日志文件默认权限Tomcat 新建日志受 umask 影响。
编辑:
sudo systemctl edit tomcat9
添加:
[Service]
UMask=0027
然后:
sudo systemctl daemon-reload
sudo systemctl restart tomcat9
结果:
750640Debian 默认有:
/etc/logrotate.d/tomcat9
示例配置:
/var/log/tomcat9/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 640 tomcat tomcat
sharedscripts
postrotate
systemctl reload tomcat9 >/dev/null 2>&1 || true
endscript
}
关键点:
create 640 tomcat tomcat
例如:
/opt/tomcat/logs
确保:
sudo chown -R tomcat:tomcat /opt/tomcat/logs
sudo chmod 750 /opt/tomcat/logs
并在 server.xml / logging.properties 中路径一致。
Permission denied
✅ 检查:
sudo -u tomcat touch /var/log/tomcat9/test.log
用户:tomcat
目录:750
文件:640
umask:0027
logrotate:create 640 tomcat tomcat
如果你用的是 Tomcat 8 / 9 / 10、apt 安装还是二进制包,可以告诉我,我可以给你更精确的配置。