La pregunta aquí es que, cuando un usuario que ha iniciado sesión cierra la sesión de ssh, el sistema debe ejecutar un script o comando específico. Por lo tanto, es como configurar un script de publicación o un disparador para realizar la acción deseada cuando el usuario cierra la sesión de ssh.
Esto se puede hacer fácilmente con la ayuda del módulo pam en los sistemas CentOS/RHEL. Siga los pasos descritos a continuación para configurar el módulo pam.
1. Agregue la siguiente entrada al archivo de configuración de pam /etc/pam.d/sshd :
# vi /etc/pam.d/sshd session optional pam_exec.so quiet /var/tmp/post_session.sh
Aquí,
/var/tmp/post_session.sh es nuestro script que se ejecutará cuando el usuario cierre sesión.
El archivo de configuración /etc/pam.d/sshd debería tener el siguiente aspecto:
# 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. Ahora puede configurar el script de activación posterior según sus requisitos. Por el bien de esta publicación, agregaré la hora de cierre de sesión del usuario en un archivo. Por ejemplo:
# 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. Otorgue el permiso de ejecución al script /var/tmp/post_session.sh.
# chmod ugo+x /var/tmp/post_session.sh
4. Verifique iniciando y cerrando sesión varias veces y debería obtener la hora de todos los cierres de sesión agregados al archivo /var/tmp/user_logout.out .