Script linux

Quiero realizar un script que guarde en un fichero el nombre de usuario, fecha y hora de inicio o cierre de sesión en el sistema de todos los usuarios menos el usuario root. El planteamiento es el de ejecutar el script dentro de los ficheros de inicio de sesión /etc/profile, para el inicio de sesión, y ~/usuario/.bash_logout, para el cierre de sesión. Además, se debe incluir el script en el fichero /etc/skel/.bash_logout para que los nuevos usuarios tengan la modificación nada más crearse. Gracias.

3 Respuestas

Respuesta
1
No veo la necesidad de hacerlo así si me permitís. ¿Por qué no filtras los logs del sistema que ahí esta todo?
En /var/log tienes todo, solo tener que filtrarlo para que solo aparezca eso.
Respuesta
1
Pon en el /etc/skel/bash_profile una linea tal que:
if ("$USER" != "root") then
echo "Usuario $USER LOGIN $(date)" >> /var/log/login_logout
endif
Y en el /etc/bash_logout
if ("$USER" != "root") then
echo "Usuario $USER LOGOUT  $(date)" >> /var/log/login_logout
endif
Así los nuevos usuarios ya lo incluirán en su inicio y fin de sesión.
Para el resto, debes añadirlo a los respectivos archivos de inicio de sesión en ~/bash_profile y ~/bash_logout
Respuesta
1
Entonces la idea es que cada vez que el usuario se conecte o desconecte se ejecute el comando date y lo guarde en un archivo.
Sería algo tan simple como poner en el archivo /etc/profile la linea:
Echo "Inicio de sesión $USER: `date`" >> /ruta/archivo
Y en el archivo .bash_logout la línea:
echo "Fin de sesión $USER: `date`" >> /ruta/archivo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas