欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux下实现不活动用户登录超时后自动登出

程序员文章站 2023-08-20 19:33:59
方法一:通过修改.bashrc或.bash_profile文件来实现  通过修改home目录下的.bashrc或.bash_profile文件来实现。这两个文件选择其中一个在末尾加入如下一行,具体操作如下: [GeekDevOps@GeekDevOps /]$ cd ~ [GeekDevOps@G... ......

方法一:通过修改.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 秒后强制退出。