From 74545ec1a476162b94866c35dfccee783dc88364 Mon Sep 17 00:00:00 2001 From: "tom.guerin" Date: Mon, 17 Feb 2025 09:05:30 +0100 Subject: [PATCH] script --- sisr1/QJ/get_last_connexion.sh | 35 ++++++++++++++++++++++++++++++++++ sisr1/QJ/logs_access.txt | 5 +++++ 2 files changed, 40 insertions(+) create mode 100644 sisr1/QJ/get_last_connexion.sh create mode 100644 sisr1/QJ/logs_access.txt diff --git a/sisr1/QJ/get_last_connexion.sh b/sisr1/QJ/get_last_connexion.sh new file mode 100644 index 0000000..9adac3a --- /dev/null +++ b/sisr1/QJ/get_last_connexion.sh @@ -0,0 +1,35 @@ +#!/bin/bash + + # Affectation du nom d'utilisateur passé en paramètre à la variable "username" +username=$1 + # extraction de la ligne correspondante du fichier de logs +user_line=$(grep $username ./logs_access.txt) + # Création d'une variable comprenant les groupes recherchés +groups="" + # Vérification de la présence du groupe sudo -> ajout de la fonction "administrateur" à $groups +if [[ $(echo $user_line | grep "sudo") != "" ]] ; then + groups=$groups" administrateur " +fi + # Vérification de la présence du groupe slam -> ajout de la fonction "développeur" à $groups +if [[ $(echo $user_line | grep "slam") != "" ]] ; then + groups=$groups" developpeur " +fi + # Vérification de la présence du groupe sisr -> ajout de la fonction "technicien" à $groups +if [[ $(echo $user_line | grep "sisr") != "" ]] ; then + groups=$groups" technicien " +fi # récupération du champ date + temps + +date_time=$(echo $user_line | cut -d ":" -f4) #f4 -> 4eme champs + # récupération des champs dates (format US) et temps dans deux variables distinctes +date_us=$(echo $date_time | cut -d "_" -f1) +#[...] +date_heure=$(echo $date_time | cut -d "_" -f2) + # extraction de chaque information utile de ces champs +day=$(echo $date_us | cut -d "/" -f3) +month=$(echo $date_us | cut -d "/" -f2) +years=$(echo $date_us | cut -d "/" -f1) + +hours=$(echo $date_heure | cut -d "-" -f1) +minutes=$(echo $date_heure | cut -d "-" -f2) +secondes=$(echo $date_heure | cut -d "-" -f3) + echo " L'utilisateur $username est membre de(s) groupe(s) $groups et sa dernière connexion remonte au $day/$month/$years à $hours h $minutes min et $secondes sec." diff --git a/sisr1/QJ/logs_access.txt b/sisr1/QJ/logs_access.txt new file mode 100644 index 0000000..d597ae1 --- /dev/null +++ b/sisr1/QJ/logs_access.txt @@ -0,0 +1,5 @@ +admin:1000:users,sudo:24/10/07_21-41-28 +jibril:1001:users,eleves_sio,slam:24/09/29_07-46-51 +lea:1002:users,sudo,sisr:24/12/14_18-31-27 +mona:1003:users,eleves_sio,sisr:24/10/05_15-30-23 +luc:1004:users,eleves_sio,slam:24/10/02_12-14-50 \ No newline at end of file