36 lines
1.6 KiB
Bash
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."
|