Bonjour,
j'essaie de mettre en place un mécanisme pour que les utilisateurs d'une machine s'authentifient. En effet ce PC pour des raisons techniques ne possède qu'un seul compte utilisateur, mais plusieurs personnes travaillent dessus. C'est un PC isolé (connecté à aucun réseau). Je précise que je suis sous CentOS avec Gnome et shell bash.
Je voudrais qu'au moment où l'utilisateur se connecte, une fenêtre lui demandant son nom et son prénom apparaisse. J'ai réussi à faire cette partie en ajoutant le script suivant dans le dossier /etc/profile.d:
Cela fonctionne bien, à la connexion j'ai bien mon programme "AuthentificationUtilisateur" qui s'exécute. Ce programme affiche une fenêtre demandant nom et prénom puis ajoute une ligne dans un fichier de log situé sous le $HOME (du type: "16/10/2018 12:35:21: connexion de Mokochan").
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #!/bin/bash if ! [ -f $HOME/.fichierLogUtilisationPC_tmp.txt ] # Si le fichier temporaire n'existe pas: c'est une connexion then touch $HOME/.fichierLogUtilisationPC_tmp.txt # Cree le fichier temporaire (pour ne pas redemander le nom a chaque ouverture de terminal) /etc/profile.d/AuthentificationUtilisateur # Demande son nom a l'utilisateur et ajoute une ligne au fichier log (~/.fichierLogUtilisationPC.txt) fi
Je crée également un fichier temporaire, sinon mon programme se réexécute à chaque fois que l'utilisateur ouvre un terminal.
Mon problème est le suivant: comment supprimer ce fichier temporaire lorsque l'utilisateur ferme la session?
J'ai tenté d'utiliser la commande trap en ajoutant ceci à la fin de mon script:
Mais cela ne fonctionne pas. Le fichier temporaire est effectivement supprimé si j'ouvre une console et la referme (ce que je ne veut pas justement), par contre si j'utilise le menu graphique "fermer la session" SIGHUP n'est pas émis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 trap 'rm -rf $HOME/.fichierLogUtilisationPC_tmp.txt' SIGHUP
Quelqu'un aurait il une solution?
Merci d'avance!
Partager