La domanda qui è che quando un utente connesso si disconnette dalla sessione ssh, il sistema deve eseguire uno script o un comando specifico. Quindi è come configurare un post script o un trigger per eseguire l'azione desiderata quando l'utente è disconnesso dalla sessione ssh.
Questo può essere fatto facilmente con l'aiuto del modulo pam nei sistemi CentOS/RHEL. Segui i passaggi descritti di seguito per configurare il modulo pam.
1. Aggiungi la voce seguente al file di configurazione di pam /etc/pam.d/sshd :
# vi /etc/pam.d/sshd session optional pam_exec.so quiet /var/tmp/post_session.sh
Qui,
/var/tmp/post_session.sh è il nostro script che verrà eseguito quando l'utente è disconnesso.
Il file di configurazione /etc/pam.d/sshd dovrebbe essere simile al seguente:
# 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. Ora puoi configurare lo script post trigger secondo le tue esigenze. Per il bene di questo post, aggiungerò semplicemente l'ora della disconnessione dell'utente in un file. Ad esempio:
# 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. Concedi l'autorizzazione di esecuzione allo script /var/tmp/post_session.sh.
# chmod ugo+x /var/tmp/post_session.sh
4. Verifica effettuando l'accesso e la disconnessione più volte e dovresti ottenere l'ora di tutte le uscite aggiunte al file /var/tmp/user_logout.out .