我想logging每个SSHlogin尝试,都成功与否,到我的FreeBSD服务器到一个文件,并每日邮寄此日志到根。
我可以通过parsing/var/log/auth.log来完成类似这样的事情,但是a)这包含多于login尝试,以及b)自从昨天运行以来它可以被翻转。 有没有更直接的方法来做到这一点? 例如在SSHd或loginconfiguration挂钩login每个login?
缺省情况是login到AUTH工具。 您可以使用SyslogFacilityconfiguration选项更改sshdlogging的facility 。
SyslogFacility LOCAL7
然后configuration你的syslogd把local7。*添加到它自己的文件中
local7.* /var/log/local7.log
到syslogdconfiguration文件。 通过发送一个HUP信号告诉syslogd重新读取它的configuration文件,对sshd做同样的事情,你应该把sshd消息发送给它自己的文件。
我偶然发现了这个博客文章 ,描述了我的问题的多种解决scheme。 除此之外,它还提到了日志parsing,有趣的是, PAM脚本通过pam_exec 。 这使我能够在每次login时运行我自己的脚本。
我认为这是对我的问题最灵活的解决scheme,虽然Iain以前的答案可能是侵入性较小,也解决了我的问题。