GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

CentOS/RHEL – So führen Sie ein Skript oder einen Befehl aus, wenn sich ein Benutzer von der SSH-Sitzung abmeldet

Die Frage hier ist, wenn sich ein angemeldeter Benutzer von der ssh-Sitzung abmeldet, muss das System ein bestimmtes Skript oder einen bestimmten Befehl ausführen. Es ist also so, als würde man ein Postscript oder einen Trigger konfigurieren, um die gewünschte Aktion auszuführen, wenn der Benutzer von der SSH-Sitzung abgemeldet wird.

Dies kann einfach mit Hilfe des pam-Moduls in CentOS/RHEL-Systemen durchgeführt werden. Befolgen Sie die unten beschriebenen Schritte, um das pam-Modul zu konfigurieren.

1. Fügen Sie den folgenden Eintrag zur pam-Konfigurationsdatei /etc/pam.d/sshd hinzu :

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

Hier
/var/tmp/post_session.sh ist unser Skript, das ausgeführt wird, wenn der Benutzer abgemeldet ist.

Die Konfigurationsdatei /etc/pam.d/sshd sollte wie folgt aussehen:

# 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. Jetzt können Sie das Post-Trigger-Skript gemäß Ihren Anforderungen konfigurieren. Für diesen Beitrag werde ich einfach die Zeit der Benutzerabmeldung in eine Datei einfügen. Zum Beispiel:

# 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. Erteilen Sie dem Skript /var/tmp/post_session.sh die Ausführungsberechtigung.

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

4. Überprüfen Sie dies, indem Sie sich mehrmals an- und abmelden, und Sie sollten die Zeit aller Abmeldungen erhalten, die der Datei /var/tmp/user_logout.out hinzugefügt wurden .


Cent OS
  1. Wie kann ich die laufenden Prozesse eines beliebigen Benutzers in SSH anzeigen?

  2. So führen Sie den Pstack-Befehl unter CentOS/RHEL aus

  3. So führen Sie rsyslog als Nicht-Root-Benutzer in CentOS/RHEL 7 aus

  4. CentOS / RHEL :Wie finde ich heraus, welcher Benutzer einen bestimmten Befehl ausführt?

  5. CentOS / RHEL :So ändern Sie die Anmelde-Shell des Benutzers

So installieren Sie Putty in RHEL 8 / CentOS 8

So löschen Sie Benutzer unter RHEL 8 / CentOS 8 Linux

So richten Sie einen Chef 12 unter CentOS 7 / RHEL 7 ein

So verwenden Sie den Verlaufsbefehl unter CentOS 8

So ändern Sie den Hostnamen unter CentOS 8

So installieren Sie Scala 3 auf RHEL 8 / CentOS 8