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如果需要更多的信息,请告诉我。感谢在解决这一问题上的任何帮助。
EDIT 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
;;发布于 2021-01-12 08:56:51
详细的输出将放入/var/log/messages中。
检查套接字所在目录的权限。通常,套接字文件是在服务启动期间创建的,有时是由服务本身创建的。因此,请检查哪个用户希望启动该服务。然后修复正在创建套接字文件的目录的权限。
如果syslog是启动服务的用户,那么/var/lib/ syslog -ng应该属于用户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。
https://serverfault.com/questions/1049496
复制相似问题