GNU/Linux >> Tutoriels Linux >  >> Cent OS

CentOS/RHEL - Comment exécuter un script ou une commande lorsqu'un utilisateur se déconnecte de la session ssh

La question ici est que lorsqu'un utilisateur connecté se déconnecte de la session ssh, le système doit exécuter un script ou une commande spécifique. Cela revient donc à configurer un post-script ou un déclencheur pour effectuer l'action souhaitée lorsque l'utilisateur est déconnecté de la session ssh.

Cela peut être facilement fait à l'aide du module pam dans les systèmes CentOS/RHEL. Suivez les étapes décrites ci-dessous pour configurer le module pam.

1. Ajoutez l'entrée ci-dessous au fichier de configuration pam /etc/pam.d/sshd :

# vi /etc/pam.d/sshd
session     optional    pam_exec.so quiet /var/tmp/post_session.sh

Ici,
/var/tmp/post_session.sh est notre script qui s'exécutera lorsque l'utilisateur sera déconnecté.

Le fichier de configuration /etc/pam.d/sshd devrait ressembler à ceci :

# cat /etc/pam.d/sshd 
#%PAM-1.0
auth    required pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    required     pam_access.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed 
in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
####Trigger with user logout #####
session     optional    pam_exec.so quiet /var/tmp/post_session.sh
####
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare

2. Vous pouvez maintenant configurer le script de post-déclencheur selon vos besoins. Pour les besoins de cet article, je vais simplement ajouter l'heure de déconnexion de l'utilisateur dans un fichier. Par exemple :

# cat /var/tmp/post_session.sh
#!/bin/bash
if [ "$PAM_TYPE" = "close_session" ]; then
date >> /var/tmp/user_logout.out        ##  This is the action to be performed when user logs out.
fi

3. Accordez l'autorisation d'exécution au script /var/tmp/post_session.sh.

# chmod ugo+x /var/tmp/post_session.sh

4. Vérifiez en vous connectant et en vous déconnectant plusieurs fois et vous devriez obtenir l'heure de toutes les déconnexions ajoutées au fichier /var/tmp/user_logout.out .


Cent OS
  1. Comment ajouter et supprimer des utilisateurs sur CentOS, RHEL et Fedora

  2. Comment afficher les processus en cours d'exécution de n'importe quel utilisateur dans SSH ?

  3. CentOS / RHEL 7 :Comment modifier la ligne de commande du noyau

  4. Comment exécuter la commande Pstack sur CentOS/RHEL

  5. CentOS / RHEL :Comment trouver quel utilisateur exécute une commande spécifique ?

Comment installer le mastic dans RHEL 8 / CentOS 8

Comment supprimer un utilisateur sur RHEL 8 / CentOS 8 Linux

Comment configurer un Chef 12 sur CentOS 7 / RHEL 7

Comment utiliser la commande history sur CentOS 8

Comment changer le nom d'hôte sur CentOS 8

Comment installer Scala 3 sur RHEL 8 / CentOS 8