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.

3 réponses

  1. cs_PaTaTe Messages postés 1471 Date d'inscription   Statut Contributeur Dernière intervention   503
     
    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
    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
      1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501 > 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
  2. cs_PaTaTe Messages postés 1471 Date d'inscription   Statut Contributeur Dernière intervention   503
     
    Récupérer le nom de la session ne sert à rien si tu utilise $HOME/.bash_logout car ce dernier est personnel
    0
  3. 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