바인딩 해제됨 파일에 로그를 쓸 수 없습니다.

바인딩 해제됨 파일에 로그를 쓸 수 없습니다.

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

관련 정보