在 Debian 上设置 Tomcat 日志权限,通常围绕 日志目录归属、目录/文件权限、logrotate、systemd 运行用户 这几方面来做。下面按常见场景说明。
Debian 上 Tomcat 一般通过包安装(apt install tomcat9):
ps aux | grep tomcat
常见用户:
tomcat9(Debian 官方包)tomcat(手动安装)常见路径:
/var/log/tomcat9
查看当前权限:
ls -ld /var/log/tomcat9
ls -l /var/log/tomcat9
sudo chown -R tomcat9:adm /var/log/tomcat9
说明:
tomcat9:写日志adm:允许管理员查看日志(Debian 习惯)sudo chmod 750 /var/log/tomcat9
sudo chmod 640 /var/log/tomcat9/*.log
报错类似:
Permission denied
解决:
sudo chown -R tomcat9:tomcat9 /var/log/tomcat9
sudo chmod 755 /var/log/tomcat9
⚠️ 安全略低,但能保证可写
查看服务:
systemctl cat tomcat9
确认:
User=tomcat9
如修改过用户,需同步日志目录权限。
Debian 默认:
/etc/logrotate.d/tomcat9
示例:
/var/log/tomcat9/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 640 tomcat9 adm
sharedscripts
postrotate
systemctl reload tomcat9 >/dev/null 2>&1 || true
endscript
}
关键点:
create 640 tomcat9 adm测试:
sudo logrotate -d /etc/logrotate.d/tomcat9
假设:
/opt/tomcattomcatsudo chown -R tomcat:tomcat /opt/tomcat/logs
sudo chmod 750 /opt/tomcat/logs
sudo chown -R tomcat9:adm /var/log/tomcat9
sudo chmod 750 /var/log/tomcat9
sudo chmod 640 /var/log/tomcat9/*.log
如果你能告诉我:
我可以给你更精确的权限方案。