상세 모드에서 syslog-ng 실행

상세 모드에서 syslog-ng 실행

EDIT1: syslog-ng 실행 명령:
/usr/sbin/syslog-ng -u syslog -g syslog -R /tmp/syslog-ng.persist -F

사용된 명령:

syslog-ng-ctl verbose --set=on그리고syslog-ng-ctl verbose

syslog-ng상세 모드로 실행하려고 하는데 오류가 발생합니다.

제어 소켓 연결 오류, 소켓='/var/lib/syslog-ng/syslog-ng.ctl', 오류='해당 파일 또는 디렉터리가 없습니다.'

root@CHB:~# syslog-ng-ctl verbose
Error connecting control socket, socket='/var/lib/syslog-ng/syslog-ng.ctl', error='No such file or directory'

따라서 ctl 파일을 생성하고 필요에 따라 권한을 변경했지만 다시 오류가 발생했습니다.

제어 소켓 연결 오류, 소켓='/var/lib/syslog-ng/syslog-ng.ctl', 오류='연결 거부됨'

root@CHB:~# touch /var/lib/syslog-ng/syslog-ng.ctl
root@CHB:~# ls -l /var/lib/syslog-ng/syslog-ng.ctl
-rw-r--r--    1 root     root             0 Oct 21 19:11 /var/lib/syslog-ng/syslog-ng.ctl

root@CHB:~# chown syslog /var/lib/syslog-ng/syslog-ng.ctl
root@CHB:~# ls -l /var/lib/syslog-ng/syslog-ng.ctl
-rw-r--r--    1 syslog   root             0 Oct 21 19:11 /var/lib/syslog-ng/syslog-ng.ctl

root@CHB:~# chgrp syslog /var/lib/syslog-ng/syslog-ng.ctl
root@CHB:~# ls -l /var/lib/syslog-ng/syslog-ng.ctl
-rw-r--r--    1 syslog   syslog           0 Oct 21 19:11 /var/lib/syslog-ng/syslog-ng.ctl

root@CHB:~# chmod +x /var/lib/syslog-ng/syslog-ng.ctl
root@CHB:~# ls -l /var/lib/syslog-ng/syslog-ng.ctl
-rwxr-xr-x    1 syslog   syslog           0 Oct 21 19:11 /var/lib/syslog-ng/syslog-ng.ctl

root@CHB:~# syslog-ng-ctl verbose
Error connecting control socket, socket='/var/lib/syslog-ng/syslog-ng.ctl', error='Connection refused'

root@CHB:~# syslog-ng-ctl verbose --set=on
Error connecting control socket, socket='/var/lib/syslog-ng/syslog-ng.ctl', error='Connection refused'

내 시스템 정보가 도움이 된다면

root@CHB:~# cat /etc/issue
Poky (Yocto Project Reference Distro) 2.0 \n \l
root@CHB:~# uname -a
Linux CHB 3.2.48 #1 SMP Tue Mar 14 15:52:38 CET 2017 i686 GNU/Linux

추가 정보가 필요하면 알려주시기 바랍니다.
문제 해결에 도움을 주셔서 감사합니다.

편집 2:
구성 파일

#syslog settings
CS_SYSLOG_DAEMON="/usr/sbin/syslog-ng"
CS_SYSLOG_NAME="syslog-ng"
# user/group
CS_SYSLOG_USER="syslog"
CS_SYSLOG_GROUP="syslog"
# syslog port/interface to be used in syslog-ng.conf in case of remote logging
CS_SYSLOG_PORT="2020"
CS_SYSLOG_INTERFACE="eth1"
# syslog specific parameters: user, group, persist file in /tmp, in the foreground (start-stop-daemon will take care of the spawn)
CS_SYSLOG_ARGS="-u $CS_SYSLOG_USER -g $CS_SYSLOG_GROUP -R /tmp/syslog-ng.persist -F"
CS_SYSLOG_EXTRA_ARGS=

init.d 스크립트 실행 명령에서 위의 변수는 이전에 제공됩니다.

startdaemon $CS_SYSLOG_DAEMON $CS_SYSLOG_NAME $CS_SYSLOG_ARGS $CS_SYSLOG_EXTRA_ARGS
        ;;

답변1

자세한 출력은 /var/log/messages에 저장됩니다.

소켓이 있는 디렉토리의 권한을 확인하십시오. 일반적으로 소켓 파일은 서비스 시작 중에 생성되며 때로는 서비스 자체에 의해 생성됩니다. 따라서 어떤 사용자가 서비스를 시작하고 싶은지 확인하십시오. 그런 다음 소켓 파일이 생성되는 디렉터리의 권한을 수정합니다.

/var/lib/syslog-ng는 syslog가 서비스를 시작하는 사용자인 경우 syslog 사용자가 소유해야 합니다. 귀하의 시스템이 자세히 어떻게 보이는지 잘 모르기 때문에 디버깅 목적으로만 그룹에 쓰기 액세스 권한을 부여하는 것이 좋습니다.

rm /var/lib/syslog-ng/syslog-ng.ctl
chmod 770 /var/lib/syslog-ng
chown syslog:syslog /var/lib/syslog-ng

무언가를 손상시킬 수 있는 이상한 파일이 없는지 확인하려면 syslog-ng.ctl 파일의 rm을 수행하십시오. 소유자 및 그룹에 대한 읽기, 쓰기, 실행 권한을 변경합니다. 나는 다른 사람들이 당신의 시스템에서 할 일이 없다고 생각합니다. 이 디렉터리에 대한 소유자 및 그룹을 syslog로 변경합니다.

관련 정보