


Introducing automatic logout methods on Linux to prevent long periods of user inactivity
Let us imagine such a scenario. You have a server that is frequently accessed by many users from various systems on the network. It is possible that some users forget to log out of the session leaving the session open. We all know how dangerous it is to leave a user session connected. Some users may use this to intentionally do things that damage the system. And you, as a system administrator, will you go to every system to check whether the user has logged out? In fact, this is completely unnecessary. And if there are hundreds or thousands of machines in the network, this is too time-consuming. However, you can have users automatically log out if they are inactive on the machine or SSH session for a certain period of time. This tutorial will teach you how to do this on a Unix-like system. It's not difficult at all. Do it with me.
Implementing automatic logout of inactive users after a period of time on Linux
There are three ways to achieve this. Let's look at the first method first.
method 1:
Edit ~/.bashrc or ~/.bash_profile file:
$ vi ~/.bashrc
or,
$ vi ~/.bash_profile
Add the following lines to it:
TMOUT=100
This will log the user out automatically after 100 seconds of inactivity. You can define this value as needed. Save and close the file.
Run the following command to make the changes take effect:
$ source ~/.bashrc
or,
$ source ~/.bash_profile
Now let the session idle for 100 seconds. After 100 seconds of inactivity, you will see the message below and the user will automatically log out of the session.
timed out waiting for input: auto-logout Connection to 192.168.43.2 closed.
This setting can be easily modified by the user. Because the ~/.bashrc file is owned by the user himself.
To modify or delete the timeout setting, just delete the line added above and execute the source ~/.bashrc command to make the modification take effect.
In addition, users can also run the following command to disable timeout:
$ export TMOUT=0
or,
$ unset TMOUT
If you want to prevent users from modifying this setting, use the following method instead.
Method 2:
Log in as root user.
Create a new file named autologout.sh.
# vi /etc/profile.d/autologout.sh
Add the following content:
TMOUT=100 readonly TMOUT export TMOUT
Save and exit the file.
Add executable permissions to it:
# chmod +x /etc/profile.d/autologout.sh
Now, log out or restart the system. Inactive users will be automatically logged out after 100 seconds. Ordinary users cannot modify this configuration even if they want to retain the session connection. They will force quit after 100 seconds.
Both methods work for both local and remote sessions (i.e. users logged in locally and users logged in via SSH on the remote system). Let's take a look at how to automatically log out only inactive SSH sessions without automatically logging out of local sessions.
Method 3:
This way, we will only have the SSH session user automatically log out after a period of inactivity.
Edit /etc/ssh/sshd_config file:
$ sudo vi /etc/ssh/sshd_config
Add/modify the following lines:
ClientAliveInterval 100 ClientAliveCountMax 0
Save and exit the file. Restart the sshd service for the changes to take effect.
$ sudo systemctl restart sshd
Now, log in to the remote system through ssh. After 100 seconds, the ssh session will automatically close and you will see the following message:
$ Connection to 192.168.43.2 closed by remote host. Connection to 192.168.43.2 closed.
Now, anyone who logs into this system via SSH from a remote system will automatically log out after 100 seconds of inactivity.
The above is the detailed content of Introducing automatic logout methods on Linux to prevent long periods of user inactivity. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

vscode built-in terminal is a development tool that allows running commands and scripts within the editor to simplify the development process. How to use vscode terminal: Open the terminal with the shortcut key (Ctrl/Cmd). Enter a command or run the script. Use hotkeys (such as Ctrl L to clear the terminal). Change the working directory (such as the cd command). Advanced features include debug mode, automatic code snippet completion, and interactive command history.

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

Writing code in Visual Studio Code (VSCode) is simple and easy to use. Just install VSCode, create a project, select a language, create a file, write code, save and run it. The advantages of VSCode include cross-platform, free and open source, powerful features, rich extensions, and lightweight and fast.

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

Causes and solutions for the VS Code terminal commands not available: The necessary tools are not installed (Windows: WSL; macOS: Xcode command line tools) Path configuration is wrong (add executable files to PATH environment variables) Permission issues (run VS Code as administrator) Firewall or proxy restrictions (check settings, unrestrictions) Terminal settings are incorrect (enable use of external terminals) VS Code installation is corrupt (reinstall or update) Terminal configuration is incompatible (try different terminal types or commands) Specific environment variables are missing (set necessary environment variables)

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

VS Code One-step/Next step shortcut key usage: One-step (backward): Windows/Linux: Ctrl ←; macOS: Cmd ←Next step (forward): Windows/Linux: Ctrl →; macOS: Cmd →
