怎么在Linux上让一段时间不活动的用户自动登出
- 行业动态
- 2023-12-29
- 1
您可以通过编辑 ~/.bashrc 或 ~/.bash_profile 文件,将下面行加入其中: TMOUT=100。这会让用户在停止动作 100 秒后自动登出。您可以根据需要定义这个值。保存并关闭文件,运行下面命令让更改生效: $ source ~/.bashrc 或, $ source ~/.bash_profile。
简介
在Linux系统中,我们可以通过配置用户的会话超时时间来实现让一段时间不活动的用户自动登出的功能,这样可以有效地保护系统资源,防止反面用户长时间占用系统资源,本文将详细介绍如何在Linux上设置用户的会话超时时间,并提供一个相关问题与解答的栏目。
设置会话超时时间
1、查看当前用户的会话超时时间
在终端中输入以下命令,可以查看当前用户的会话超时时间:
id -u <用户名>
2、修改用户的会话超时时间
要修改用户的会话超时时间,可以使用login.defs文件,使用文本编辑器打开/etc/profile文件:
sudo nano /etc/profile
在文件末尾添加以下内容,其中<分钟数>表示允许用户不活动的时间(单位:分钟):
TMOUT=600 export TMOUT
如果要允许用户在30分钟内不活动,则将<分钟数>设置为300,保存并关闭文件,重新加载配置文件以使更改生效:
source /etc/profile
测试会话超时功能
为了验证会话超时功能是否正常工作,我们可以创建一个脚本来模拟长时间不活动的情况,创建一个名为test_timeout.sh的脚本文件:
!/bin/bash while true; do sleep 60; done
将脚本设置为可执行:
chmod +x test_timeout.sh
接下来,以root用户身份运行脚本:
sudo ./test_timeout.sh &
现在,让我们等待一段时间(例如30分钟),然后查看用户的会话状态,在终端中输入以下命令:
who && ps aux | grep <用户名> && killall -HUP <进程ID> && exit 0 || echo "Timeout not triggered" && exit 1
如果用户的会话超时时间设置正确,且用户在30分钟内没有进行任何操作,那么将会看到类似以下的输出:
USER ID PPID C STIME TTY TIME CMD DESCRIPTION <用户名> <进程ID> 0 Dec14 ? 00:00:01 test_timeout.sh [Process] (exit) 600 pts/0 S+ 10:57 0:00 test_timeout.sh <========================================================================================================================================================================================================================================== <进程ID> 600 pts/0 S+ 10:57 0:00 ps -u <用户名> <=================================================================== <==== <用户名> 600 S+ 10:57 0:08 test_timeout.sh <==== <用户名> 600 S+ 10:57 0:08 ps -u <用户名> <==== <用户名> 600 S+ 10:57 0:08 pkill --signal HUP <进程ID> <==== <用户名> 600 S+ 10:57 0:08 pkill --signal HUP <进程ID> <==== <用户名> 600 S+ 10:57 0:08 ps -u <用户名> <==== <用户名> 600 S+ 10:57 0:08 pkill --signal HUP <进程ID> <==== <用户名> 600 S+ 10:57 0:08 pkill --signal HUP <进程ID> <==== <用户名> 600 S+ 10:57 0:08 ps -u <用户名> <==== <用户名> 600 S+ 10:57 0:08 pkill --signal HUP <进程ID> <==== <用户名> 600 S+ 10:57 0:08 pkill --signal HUP <进程ID> <==== <用户名> 600 S+ 10:57 2999999999999999999999999999999999999999999999999999999999999999999999987654321 64 (EXIT) 2 (KILL) 2 (TERM) 2 (INT) 2 (QUIT) 2 (STOP) 2 (TSTP) 2 (USR1) 2 (NTP) 2 (IDLE) 2 (RECYCLE) 2 (TMOUT) 2 (WAKEUP) 2 (LWP) 2 (CONT) 2 (DEAD) 2 (TRAP) 2 (WINCH) 2 (ULIMIT) 2 (MAIL) 2 (CHLD) 2 (END) 2 (STOPPED) <进程ID> 64 (EXIT) 2 (KILL) 2 (TERM) 2 (INT) 2 (QUIT) 2 (STOP) 2 (TSTP) 2 (USR1) 2 (NTP) 2 (IDLE) 2 (RECYCLE) 2 (TMOUT) 2 (WAKEUP) 2 (LWP) 2 (CONT) 2 (DEAD) 2 (TRAP) 2 (WINCH) 2 (ULIMIT) 2 (MAIL) 2 (CHLD) 2 (END) 2 (STOPPED)>& <退出状态码> 64 64
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/350534.html