siotp/sisr1/QJ/get_last_connexion.sh
2025-02-17 09:05:30 +01:00

36 lines
1.6 KiB
Bash

#!/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."