Usuarios en Linux

Perrodog

Vuelvo con otra de mis dudas de noob.Hace unos día pregunté en el foro de desarrollo acerca de una librería que implementara SMTP sobre C.Pues bien,mi duda de hoy tiene que ver con eso pero de otra forma.Hoy he estado hablando con mi profesor y me ha aclarado ciertas dudas que tenía sobre qué es exactamente lo que espera de la práctica.En resumen:

Una especie de programa "vigía" que envíe una notificación por mail al administrador del sistema cada vez que un nuevo usuario haga login.Olvidando un poco el tema de SMTP la duda es,¿cómo guarda Linux la información de los usuarios que están en el sistema o los que acaban de acceder? La idea sería que en cuanto un usuario haga login se envíe un email con la hora y el nombre del usuario,¿ocurre algo especial cuando un usuario logea? y con especial me refiero a una señal del sistema,un flag,no sé.

PD-Sé de la existencia de los logs del sistema,pero en ellos hay mucha basura que no interesa.La idea sería que el programa se diera cuenta de que un nuevo usuario ha hecho login cuando eso ocurra y no tenga que estar mirando todo el rato un log para ver si cambia.

AcidNos

Creo que algun IDS hacia algo similar. Echale un vistazo a las caracteristicas de los IDS para Linux. Quiza puedas echarle un vistazo al codigo para orientarte.

Tambien supongo que dependera un poco de la distro que estes usando.

Sandevil

Si no recuerdo mal, actualmente se usa PAM:

http://www.kernel.org/pub/linux/libs/pam/whatispam.html

Mirando por encima, usando el modulo pam_exec se debería poder enviar el correo, simplemente ajustando la configuración un poco.

http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/sag-pam_exec.html

Claro que si te quieres complicar e implementarlo todo en un modulo para pam, tienes tb la guía para el escritor de módulos en esa web.

Espero que te sirva de ayuda.

Otra opcion seria usar expresiones regulares en el log que se encargue de los usuarios (en ubuntu seria en /var/log/auth.log y probablemente en cualquier distribucion LSB) y que el programa este funcionando de continuo, claro que ya no seria "en tiempo real"(luego seria inseguro).

Usuarios habituales

  • Sandevil
  • AcidNos
  • Perrodog