Você pode criar algo complicado usando tail -F
e awk
, mas a maneira mais fácil é usar perl
, para usar o módulo File::Tail
(para monitorar o arquivo de log do sistema apropriado) e um dos os muitos módulos de envio de e-mail (como Mail::Send
ou Net::SMTP
) para enviar e-mail quando percebe que um usuário fez login ou desconectou-se. ou não conseguiu fazer login com sucesso. ou qualquer outro evento que você queira ser notificado.
O módulo File::Tail
inclui scripts de exemplo que já fazem cerca de 90% do que você deseja, eles podem ser facilmente adaptados para atender às suas necessidades exatas.
O arquivo de registro exato a ser monitorado varia de distro a distro, por exemplo no Debian você monitoraria /var/log/auth.log
, em algumas outras distros seria /var/log/syslog
ou /var/log/messages
.
Observe que o freebsd não tem o perl instalado por padrão, mas está disponível com, por exemplo, pkg add perl5.22
. Isso só instala a linguagem perl básica, você teria que usar o CPAN para instalar módulos de biblioteca como File::Tail
pr Mail::Send
.