温馨提示×

ubuntu tomcat日志权限怎设

小樊
42
2026-10-12 09:34:27
栏目: 智能运维

在 Ubuntu 上设置 Tomcat 日志权限,核心原则是:日志目录和文件要让运行 Tomcat 的用户(通常是 tomcat 或 www-data)能写,同时兼顾安全。下面分场景说明。


一、确认 Tomcat 运行用户

ps aux | grep tomcat

常见用户:

  • tomcat
  • www-data
  • 你自己创建的普通用户

假设运行用户是 tomcat。


二、Tomcat 日志位置

常见路径:

/var/log/tomcat9/
/opt/tomcat/logs/

(版本不同路径不同)


三、推荐权限设置(标准做法)

1️⃣ 日志目录权限

sudo chown -R tomcat:tomcat /var/log/tomcat9
sudo chmod 750 /var/log/tomcat9

2️⃣ 日志文件权限

sudo chmod 640 /var/log/tomcat9/*.log

说明:

  • 750:属主可读写执行(进入目录),组用户可读,其他无权限
  • 640:tomcat 可写,组可读,其他无

四、如果使用 logrotate(很重要)

Ubuntu 默认会用 logrotate 切割 Tomcat 日志。

编辑:

sudo vim /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

保证切割后的新日志权限正确。


五、Tomcat 自身配置(logging.properties)

如果你发现日志写不进去,检查:

/opt/tomcat/conf/logging.properties

确保目录存在且可写,例如:

1catalina.org.apache.juli.AsyncFileHandler.directory = /var/log/tomcat9

六、常见问题排查

❌ 权限拒绝

Permission denied

解决:

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

❌ 日志不生成

  • 目录不存在
  • SELinux(Ubuntu 一般没开)
  • systemd 限制(PrivateTmp=true)

检查:

systemctl cat tomcat9

如有:

PrivateTmp=true

日志可能在:

/tmp/systemd-private-xxx/tomcat9/

七、最小安全建议(生产环境)

✅ 不要用 777
✅ 不要让 root 运行 Tomcat
✅ 日志目录只对 tomcat 用户可写


如果你能告诉我:

  • Ubuntu 版本
  • Tomcat 安装方式(apt / 手动)
  • 具体报错信息

我可以给你精确命令。

0 踩