启动未绑定服务时“查找”日志文件时出错
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"