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 .