有没有办法确定哪些守护进程正在记录到特定的 syslog 工具?(spec. rsyslog)
我特别想寻找的是谁登录到了 auth.* 严重性。
atrun(8) cron.err pid fatal errors
chat(8) local2.err pid ndelay fatal errors
local2.info -v output
comsat(8) daemon.err pid fatal errors
daemon.info log biffs (-l)
daemon.debug debug notices (if debug != 0)
auth.notice / in tty name (might be incorrect code)
cron(8) cron.info pid commands executed
答案1
没有办法确定这一点先验。也就是说,您无法有效地检查二进制文件并确定它将使用哪个功能。
您唯一真正的选择是分析日志并查看哪些进程正在记录到哪个设施。您可以通过让 rsyslogd (a) 将每个设施记录到单独的文件中或 (b) 将设施名称包含在日志消息中(我思考rsyslog 将允许您执行此操作)。
答案2
“并非如此”——任何守护进程都可以向任何日志工具发送消息(如果 syslog 正在监听网络套接字,通常也可以将“来自任何主机”添加到其中)。各种守护进程的配置文件是您的最佳选择。
大多数守护进程都会把自己的名字放在日志中——如果你的守护进程没有这样做,你可以通过消除法来做到这一点。 auth.*
通常也是与身份验证相关的东西(登录名/密码),所以你可以进一步缩小范围……