바인딩되지 않은 로그 파일을 찾을 수 없지만 로그 파일이 존재합니다.

바인딩되지 않은 로그 파일을 찾을 수 없지만 로그 파일이 존재합니다.

바인딩되지 않은 서비스를 시작할 때 로그 파일을 "찾는" 동안 오류가 발생했습니다.

 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"

관련 정보