Lancer un script en tant que root lorsqu'un utilisateur se déconnecte

Signaler
Messages postés
134
Date d'inscription
vendredi 3 janvier 2014
Statut
Membre
Dernière intervention
14 octobre 2020
-
Messages postés
134
Date d'inscription
vendredi 3 janvier 2014
Statut
Membre
Dernière intervention
14 octobre 2020
-
Bonjour,

j'ai créé un script permettant de synchroniser une machine avec 2 autres machines. Ce script doit être lancé avec des droits root. Je veux qu'il se lance lorsqu'un utilisateur non root se déconnecte de sa session et qu'il prenne également en paramètre le nom de cet utilisateur.
Je suis sous Xubuntu Desktop 19.10.

Exemple :

toto se déconnecte de machine 1.
Cette commande se lance avec des privilèges root : ./synchro.sh toto

Merci d'avance de votre aide.

3 réponses

Messages postés
2098
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
22 octobre 2020
343
Bonjour,

Déclencher ce genre de script à la déconnexion d'un utilisateur peut poser un problème : En cas d’arrêt de la machine, l'utilisateur est déconecté avant la séquence de shutdown, cela lancerait donc ce script avant de se couper.

Normalement, tu peux mettre ton script dans $HOME/.bash_logout pour que le script se déclenche au logout

Après, si tu ne veux récupérer le nom d'utilisateur que pour savoir qui se connecte et déconnecte (c'est pas bien le flicage lol), tu trouvera ton bonheur dans les logs du système.

Cordialement,
Messages postés
134
Date d'inscription
vendredi 3 janvier 2014
Statut
Membre
Dernière intervention
14 octobre 2020
18
Merci de ta réponse. Ce n'est pas pour faire du flicage, mais pour synchroniser uniquement la session de l'utilisateur qui se déconnecte.

Si je le mets dans $HOME/.bash_logout il se déclenchera en tant que root?
Messages postés
35699
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
24 octobre 2020
5 564 >
Messages postés
134
Date d'inscription
vendredi 3 janvier 2014
Statut
Membre
Dernière intervention
14 octobre 2020

Salut,
Si je le mets dans $HOME/.bash_logout il se déclenchera en tant que root?
À condition de le rendre SetUID ;-)
Messages postés
2098
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
22 octobre 2020
343
Récupérer le nom de la session ne sert à rien si tu utilise $HOME/.bash_logout car ce dernier est personnel
Messages postés
134
Date d'inscription
vendredi 3 janvier 2014
Statut
Membre
Dernière intervention
14 octobre 2020
18
J'ai mis le chemin absolu de mon script dans $HOME/.bash_logout et ça a cassé la connexion en RDP à la session. Le RDP fonctionne toujours sur les autres sessions. J'arrive toujours à me connecter à la session localement.

Les fichiers n'ont pas été synchronisés, donc je pense que le script n'a pas été exécuté en tant que root.