¿Cuál es la forma correcta de notificar a un administrador de sistemas sobre cada conexión y desconexión de usuario?

¿Cuál es la forma correcta de notificar a un administrador de sistemas sobre cada conexión y desconexión de usuario?

Para poder vigilar una máquina, me gustaría recibir una notificación, por ejemplo, por correo electrónico, cada vez que un usuario se conecte o desconecte de la máquina (incluso el root).

Es una máquina Linux, pero también me interesa si existe una forma general para BSD.

Soy el administrador de la máquina pero también hay otros administradores.

¡Gracias!

Respuesta1

Posiblemente podrías hackear algo complicado usando tail -Fy, awkpero la forma más fácil es usar perl, por lo que puedes usar el File::Tailmódulo (para monitorear el archivo de registro del sistema apropiado) y uno de los muchos módulos de envío de correo (como Mail::Sendo Net::SMTP) para enviar correo cuando se da cuenta de que un usuario ha iniciado sesión o cerrado sesión. o no pudo iniciar sesión correctamente. o cualquier otro evento sobre el que desee recibir notificaciones.

El File::Tailmódulo incluye scripts de ejemplo que ya hacen aproximadamente el 90% de lo que desea y se pueden adaptar fácilmente para satisfacer sus necesidades exactas.

El archivo de registro exacto a monitorear varía de una distribución a otra, por ejemplo, en Debian monitorearías /var/log/auth.log, en otras distribuciones sería /var/log/syslogo /var/log/messages.

Tenga en cuenta que freebsd no tiene Perl instalado de forma predeterminada, pero está disponible, por ejemplo, con pkg add perl5.22. Esto solo instala el lenguaje perl básico, tendrías que usar CPAN para instalar módulos de biblioteca como File::Tailpr Mail::Send.

información relacionada