Qual é a maneira correta de um administrador de sistema ser notificado sobre cada conexão e desconexão de usuário?

Qual é a maneira correta de um administrador de sistema ser notificado sobre cada conexão e desconexão de usuário?

Para monitorar uma máquina, gostaria de ser notificado, por exemplo, por e-mail sempre que algum usuário se conectar ou desconectar da máquina (até mesmo root)?

É uma máquina Linux, mas também estou interessado se existe uma maneira geral para BSDs.

Eu sou o administrador da máquina, mas também existem outros administradores.

Obrigado!

Responder1

Você poderia hackear algo complicado usando tail -Fand awkmas a maneira mais fácil é usar perl, então você pode usar o File::Tailmódulo (para monitorar o arquivo de log do sistema apropriado) e um dos muitos módulos de envio de e-mail (como Mail::Sendou Net::SMTP) para enviar e-mail quando ele percebe que um usuário efetuou login ou logout. ou não conseguiu fazer login com sucesso. ou qualquer outro evento sobre o qual você deseja ser notificado.

O File::Tailmódulo inclui scripts de exemplo que já fazem cerca de 90% do que você deseja e podem ser facilmente adaptados para atender exatamente às suas necessidades.

O arquivo de log exato a ser monitorado varia de distribuição para distribuição, por exemplo, no Debian você monitoraria /var/log/auth.log, em algumas outras distros seria /var/log/syslogou /var/log/messages.

Observe que o freebsd não possui o perl instalado por padrão, mas está disponível com, por exemplo, pkg add perl5.22. Isso instala apenas a linguagem perl básica, você teria que usar o CPAN para instalar módulos de biblioteca como File::Tailpr Mail::Send.

informação relacionada