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

Samuel le DX Messages postés 199 Statut Membre -  
Samuel le DX Messages postés 199 Statut Membre -
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.
A voir également:

3 réponses

cs_PaTaTe Messages postés 2230 Statut Contributeur 497
 
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,
1
Samuel le DX Messages postés 199 Statut Membre 28
 
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?
0
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 435 > Samuel le DX Messages postés 199 Statut Membre
 
Salut,
Si je le mets dans $HOME/.bash_logout il se déclenchera en tant que root?
À condition de le rendre SetUID ;-)
0
cs_PaTaTe Messages postés 2230 Statut Contributeur 497
 
Récupérer le nom de la session ne sert à rien si tu utilise $HOME/.bash_logout car ce dernier est personnel
0
Samuel le DX Messages postés 199 Statut Membre 28
 
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.
0