温馨提示×

ubuntu tomcat日志权限怎么设

小樊
47
2026-08-31 11:39:46
栏目: 智能运维

在 Ubuntu 上给 Tomcat 日志设置权限,核心目标是:
Tomcat 能写日志
不滥用 root 权限
方便运维查看

下面按最常见、最安全的方式说明。


一、Tomcat 日志默认位置

通常在这里之一:

/var/log/tomcat9/
/opt/tomcat/logs/
/usr/local/tomcat/logs/

Tomcat 9 + Ubuntu 为例,默认是:

/var/log/tomcat9/

二、确认 Tomcat 运行用户

Ubuntu 下 Tomcat 一般使用系统用户:

ps aux | grep tomcat

常见用户:

  • tomcat
  • tomcat9

例如:

tomcat9  1234  ... org.apache.catalina.startup.Bootstrap

日志目录必须属于这个用户


三、正确设置日志目录权限(推荐)

1️⃣ 设置目录属主为 Tomcat 用户

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

2️⃣ 设置目录权限

sudo chmod 750 /var/log/tomcat9

3️⃣ 设置日志文件权限

sudo chmod 640 /var/log/tomcat9/*

✅ 效果:

  • Tomcat 可写
  • 同组用户可读
  • 其他用户无权限

四、如果日志目录不存在(手动创建)

sudo mkdir -p /var/log/tomcat9
sudo chown tomcat9:tomcat9 /var/log/tomcat9
sudo chmod 750 /var/log/tomcat9

五、systemd 方式启动的 Tomcat(Ubuntu 常见)

检查 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

❌ 启动报错:Permission denied

通常是:

  • 日志目录被 root 占用
  • 或目录权限是 700 但非 Tomcat 用户

七、生产环境推荐做法(更规范)

✅ 使用 logrotate 管理日志

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

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

  • ✅ Tomcat 版本
  • ✅ Ubuntu 版本
  • ✅ 日志路径
  • ✅ 是否用 apt / 手动安装

我可以给你完全针对你服务器的一行命令方案

0