unbound 未找到日志文件——但日志文件存在

unbound 未找到日志文件——但日志文件存在

启动未绑定服务时“查找”日志文件时出错

 Jun 25 20:02:19 asus unbound[111312]: [1624676539] unbound[111312:0] error: Could not open logfile /var/log/unbound.log: No such file or directory

但该文件存在并且应该是可写的......

为了例子 (我尝试了多种所有权和权限的组合)

 [root@asus:/var/log]
 :> ll | grep unbound
 -rw-rw-r--   1 root unbound            0 2021-06-25 20:00 unbound.log

错误在哪里?

我什至尝试过

 -rw-r--r--   1 unbound unbound            0 2021-06-25 20:00 unbound.log

-rw-rw-r--   1 stephen stephen            0 2021-06-25 20:00 unbound.log

 -rw-rw-r--   1 root root            0 2021-06-25 20:00 unbound.log

等等

家长权限

drwxr-xr-x 13 root root 4.0K 2021-06-24 14:19 var
drwxr-xr-x 13 root root 4.0K 2021-06-25 20:00 log

unbound.conf 上的日志记录配置是:

 server:
  directory: "/etc/unbound"
  username: unbound
  chroot: "/etc/unbound"
  pidfile: "/etc/unbound/unbound.pid"
  interface: 0.0.0.0
  interface: ::0

  logfile: /var/log/unbound.log
  verbosity: 1
  log-queries: yes

答案1

unbound.conf 的联机帮助页,在参考 chroot 时提到了“logfile”参数。为了清楚起见重新排列一下:

chroot:目录

如果给定,则对给定目录进行 chroot。默认值为“/etc/unbound”。如果您给出“”,则不会执行 chroot。

所有其他文件路径(工作目录、日志文件、根提示和密钥文件)都可以通过多种方式指定:作为相对于新根的绝对路径、作为工作目录的相对路径或作为相对于原根。在最后一种情况下,调整路径以删除未使用的部分。

由于默认情况下启用 chroot,因此守护程序将查找相​​对于 chroot 目录的日志文件。在这种情况下,日志文件的完整路径将为/etc/unbound/var/log/unbound.log.手动创建此路径(并分配正确的权限)允许守护程序正确找到该文件。

此外,联机帮助页中的示例 unbound.conf 文件指定了相对于 chroot 目录的日志文件:

chroot: "/etc/unbound"
logfile: "/etc/unbound/unbound.log"

相关内容