Linux下实现不活动用户登录超时后自动登出 |
方法一:通过修改.bashrc或.bash_profile文件来实现 通过修改home目录下的.bashrc或.bash_profile文件来实现。这两个文件选择其中一个在末尾加入如下一行,具体操作如下: [GeekDevOps@GeekDevOps /]$ cd ~ [GeekDevOps@GeekDevOps ~]$ echo "TMOUT=90">>.bashrc [GeekDevOps@GeekDevOps ~]$ source .bashrc 以上代码中我们选择的是.bashrc文件,如果您选择的是.bash_profile,那么也是一样的操作流程。以上我们设置用户自动登出时间为90秒,90秒后屏幕显示如下: [GeekDevOps@GeekDevOps ~]$ 等待输入超时:自动登出 Connection closing...Socket close. Connection closed by foreign host. Disconnected from remote host(10.1.1.21:22) at 16:38:48. 方法二:通过修改ssh的配置文件来实现 ssh是我们在Linux系统中比较常用的一款工具,通过修改ssh的配置文件 /etc/ssh/sshd_config我们同样也可以实现超时自动登出功能,具体如下: [root@GeekDevOps ~]# vim /etc/ssh/sshd_config 找到以下两行: #ClientAliveInterval 90 #ClientAliveCountMax 3 去掉注释,修改后面的数字: ClientAliveInterval 60 ClientAliveCountMax 5 保存退出后,重启ssh服务: [root@GeekDevOps ~]# service sshd restart 这种方法对除了root之外的所有用户都是60秒登录超时,自动登出。第一行表示每90秒检测一次,第二行表示检测到5次不活动就断开连接。 方法三:通过修改ssh的配置文件来实现 在/etc/profile文件中,添加TMOUT字段,然后source /etc/profile即可。 TMOUT=300 export TOMOUT 方法四:创建脚本 以 root 用户登录,创建一个名为 autologout.sh 的新文件。 vim /etc/profile.d/autologout.sh 加入下面内容: TMOUT=100 readonly TMOUT export TMOUT 保存并退出该文件,为它添加可执行权限: chmod +x /etc/profile.d/autologout.sh 现在,登出或者重启系统。非活动用户就会在 100 秒后自动登出了。普通用户即使想保留会话连接但也无法修改该配置了,他们会在 100 秒后强制退出。 |