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

Signaler
Messages postés
139
Date d'inscription
vendredi 3 janvier 2014
Statut
Membre
Dernière intervention
6 février 2020
-
Samuel le DX
Messages postés
139
Date d'inscription
vendredi 3 janvier 2014
Statut
Membre
Dernière intervention
6 février 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
2078
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
18 février 2020
203
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,
Samuel le DX
Messages postés
139
Date d'inscription
vendredi 3 janvier 2014
Statut
Membre
Dernière intervention
6 février 2020
12
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?
zipe31
Messages postés
38391
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
21 février 2020
4 664 > Samuel le DX
Messages postés
139
Date d'inscription
vendredi 3 janvier 2014
Statut
Membre
Dernière intervention
6 février 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
2078
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
18 février 2020
203
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
139
Date d'inscription
vendredi 3 janvier 2014
Statut
Membre
Dernière intervention
6 février 2020
12
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.