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

1

Para assistir a uma máquina, eu gostaria de ser notificado por exemplo, por e-mail toda vez que qualquer usuário se conectar ou desconectar da máquina (mesmo raiz)?

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

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

Obrigado!

    
por daruma 31.10.2015 / 11:36

1 resposta

1

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 .

    
por 31.10.2015 / 11:58