我安装了 unbound 1.13.1,我想将它用作递归解析器并将所有内容记录到文件中。不幸的是,未绑定不会写入文件,我收到错误:
Feb 15 11:46:53 unbound[832702:0] error: Could not open logfile /etc/unbound/unbound.log: Permission denied
文件的所有权已分配给未绑定的用户,并且服务已重新启动:
0 -rw-r--r-- 1 unbound unbound 0 Feb 15 10:17 unbound.log
我还尝试在多个其他目录(例如我的主目录)下创建此文件,/var/sys/log/
但仍然存在完全相同的错误。
配置文件如下所示:
include-toplevel: "/etc/unbound/unbound.conf.d/*.conf"
server:
use-syslog: no
chroot: ""
username: "unbound"
directory: "/etc/unbound/"
logfile: "/etc/unbound/unbound.log"
verbosity: 5
log-queries: yes
log-replies: yes
log-tag-queryreply: yes
log-servfail: yes
log-time-ascii: yes
do-ip6: yes
interface: 127.0.0.53
port: 53
prefetch: no
root-hints: /usr/share/dns/root.hints
harden-dnssec-stripped: yes
有人看到我在日志文件方面做错了什么吗?
答案1
这是一个访问问题。
使用 strace 运行服务器,如下 strace -fZe file /usr/sbin/unbound -c /etc/unbound/unbound.conf 我看到此访问错误:
openat(AT_FDCWD, "/etc/unbound/unbound.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = -1 EACCES (Permission denied)
我希望您必须为未绑定用户的目录添加写权限:
chown root:unbound /etc/unbound
chmod u=rwX,g=rwX,o= /etc/unbound
日志通常位于 /var/log/unbound 中。