Este breve tutorial explica tres formas diferentes de cerrar automáticamente la sesión de los usuarios inactivos después de un período de tiempo determinado en sistemas Linux y similares a Unix.
Imagina este escenario. Está administrando un servidor compartido al que acceden regularmente muchos usuarios de todos los sistemas de la red.
Hay posibilidades de que algún usuario se olvide de cerrar la sesión y la deje abierta. Dejar una sesión de usuario abierta es peligroso y algunos usuarios pueden hacer mal uso de ella intencionalmente.
¿Verificaría manualmente todos y cada uno de los sistemas para verificar si los usuarios han cerrado sesión o no? ¡No es necesario! Además, es una tarea que consume bastante tiempo si hay cientos de máquinas en su red.
En su lugar, puede hacer que un usuario cierre sesión automáticamente desde una sesión local o SSH después de un período particular de inactividad.
Cierre de sesión automático de usuarios inactivos en Linux
Podemos cerrar sesión automáticamente en sesiones de usuarios inactivos después de cierto tiempo de tres maneras. Veamos el primer método.
Método 1:
Editar ~/.bashrc
o ~/.bash_profile
archivo:
$ nano ~/.bashrc
O,
$ nano ~/.bash_profile
Agregue la siguiente línea al final:
TMOUT=100
Configure el valor de tiempo de espera del usuario en Linux
Esto hace que el usuario cierre sesión automáticamente después de una inactividad de 100 segundos. Puede definir este valor según su conveniencia. Presiona ESC
y escribe :wq
para guardar el archivo y cerrarlo.
Aplique los cambios ejecutando el siguiente comando:
$ source ~/.bashrc
O,
$ source ~/.bash_profile
Ahora, deje la sesión inactiva durante 100 segundos. Después de una inactividad de 100 segundos, verá el siguiente mensaje y el usuario será automáticamente desconectado de la sesión.
timed out waiting for input: auto-logout Connection to 192.168.122.181 closed.
Cierre de sesión automático de usuarios inactivos en Linux
Esta configuración puede ser modificada fácilmente por el usuario. Porque, ~/.bashrc
El archivo es propiedad del propio usuario.
Para modificar o eliminar la configuración del tiempo de espera, simplemente elimine las líneas agregadas anteriormente y aplique los cambios ejecutando el siguiente comando:
$ source ~/.bashrc
Alternativamente, el usuario puede deshabilitar esto ejecutando los siguientes comandos:
$ export TMOUT=0
O,
$ unset TMOUT
Dado que la configuración de tiempo de espera se almacena en el ~/.bashrc
propiedad del usuario archivo, puede omitirlo fácilmente simplemente eliminando la línea. Si desea evitar que el usuario cambie la configuración, siga el segundo método.
Método 2:
Inicie sesión como root
usuario.
Crea un nuevo archivo llamado "autologout.sh"
.
# vi /etc/profile.d/autologout.sh
Agregue las siguientes líneas:
TMOUT=100 readonly TMOUT export TMOUT
Guarde y cierre el archivo.
Hágalo como ejecutable usando el comando:
# chmod +x /etc/profile.d/autologout.sh
Cierre sesión o reinicie su sistema para que los cambios surtan efecto.
El usuario inactivo se cerrará automáticamente después de 100 segundos. El usuario normal no puede cambiar esta configuración incluso si quisiera permanecer conectado a la sesión. Serán expulsados exactamente después de 100 segundos.
Estos dos métodos son aplicables tanto para la sesión local como para la sesión remota, es decir, los usuarios que iniciaron sesión localmente o los usuarios que iniciaron sesión desde un sistema remoto a través de SSH.
En el siguiente método, veremos cómo cerrar sesión automáticamente solo en las sesiones SSH inactivas, no en las sesiones locales.
Método 3:
En este método, solo haremos que los usuarios de la sesión SSH cierren sesión después de un período particular de inactividad.
Edite /etc/ssh/sshd_config
archivo:
$ sudo vi /etc/ssh/sshd_config
Agregue/modifique las siguientes líneas:
ClientAliveInterval 100 ClientAliveCountMax 0
Presiona ESC
clave y escriba :wq
para guardar y cerrar este archivo. Reinicie el servicio sshd para aplicar los cambios.
$ sudo systemctl restart sshd
Ahora, ssh a este sistema desde un sistema remoto. Después de 100 segundos, la sesión ssh se cerrará automáticamente y verá el siguiente mensaje:
$ Connection to 192.168.122.181 closed by remote host. Connection to 192.168.122.181 closed.
A partir de ahora, quien acceda a este sistema desde un sistema remoto a través de SSH se desconectará automáticamente después de una inactividad de 100 segundos.