언바운드 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에 있습니다.