
Este breve tutorial explica tres formas diferentes de cerrar la sesión automáticamente a los usuarios inactivos después de un cierto período de tiempo en sistemas Linux y similares a Unix.
Imagina este escenario. Usted administra un servidor compartido al que acceden regularmente muchos usuarios de todos los sistemas de la red.
Existe la posibilidad de que algunos usuarios olviden cerrar la sesión y dejar la sesión abierta. Es peligroso dejar una sesión de usuario abierta y algunos usuarios pueden abusar de ella intencionalmente.
¿Verificaría manualmente todos y cada uno de los sistemas para ver si los usuarios se han desconectado o no? ¡No es necesario! Además, es una tarea que consume mucho tiempo cuando hay cientos de computadoras en su red.
En su lugar, puede hacer que un usuario cierre automáticamente la sesión de una sesión local o SSH después de un período de inactividad.
Cerrar sesión automáticamente a los usuarios inactivos en Linux
Podemos cerrar sesión automáticamente en las sesiones de usuarios inactivos después de un cierto período de tiempo de tres formas. Veamos el primer método.
Método 1:
Para editar ~/.bashrc
o ~/.bash_profile
Expediente:
$ nano ~/.bashrc
O,
$ nano ~/.bash_profile
Al final, agregue la siguiente línea:
TMOUT=100
Configurar el valor del tiempo de espera del usuario en Linux
Esto hace que el usuario cierre la sesión automáticamente después de 100 segundos de inactividad. Puede definir este valor como desee. prensa ESC
y escriba :wq
para guardar y cerrar el archivo.
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 100 segundos de inactividad, verá el siguiente mensaje y el usuario cerrará automáticamente la sesión.
timed out waiting for input: auto-logout Connection to 192.168.122.181 closed.
Cerrar sesión automáticamente a los usuarios inactivos en Linux
Esta configuración puede ser cambiada fácilmente por el usuario. Porque, ~/.bashrc
El archivo pertenece al propio usuario.
Para cambiar 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 desactivar esto ejecutando los siguientes comandos:
$ export TMOUT=0
O,
$ unset TMOUT
Debido a que la configuración del tiempo de espera se almacena en la propia ~/.bashrc
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:
registrarse como root
Usuario.
Crea un nuevo archivo llamado "autologout.sh"
.
# vi /etc/profile.d/autologout.sh
Agrega las siguientes líneas:
TMOUT=100 readonly TMOUT export TMOUT
Guarde y cierre el archivo.
Hágalo ejecutable con el comando:
# chmod +x /etc/profile.d/autologout.sh
Cierre la sesión o reinicie su sistema para que los cambios surtan efecto.
El usuario inactivo se desconecta automáticamente después de 100 segundos. El usuario normal no puede cambiar esta configuración incluso si desea permanecer conectado a la sesión. Se expulsan exactamente después de 100 segundos.
Estos dos métodos se aplican tanto a la sesión local como a la sesión remota, es decir, para los usuarios que inician sesión localmente o los usuarios que inician 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 las sesiones SSH inactivas, no las sesiones locales.
Método 3:
Con este método, solo haremos que los usuarios de la sesión SSH cierren la sesión después de un cierto período de inactividad.
Para editar /etc/ssh/sshd_config
Expediente:
$ sudo vi /etc/ssh/sshd_config
Agregue / cambie las siguientes líneas:
ClientAliveInterval 100 ClientAliveCountMax 0
prensa ESC
Clave y tipo :wq
para guardar y cerrar este archivo. Reinicie el servicio sshd para que los cambios surtan efecto.
$ sudo systemctl restart sshd
Ahora establezca una conexión 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.
Cualquiera que acceda a este sistema desde un sistema remoto a través de SSH se cerrará automáticamente inmediatamente después de 100 segundos de inactividad.