温馨提示×

Linux上如何实现让一段时间不活动的用户自动登出功能

发布时间:2021-06-11 11:54:49 来源:亿速云 阅读:67 作者:小新 栏目:系统运维

小编给大家分享一下Linux上如何实现让一段时间不活动的用户自动登出功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

在 Linux 上实现一段时间后自动登出非活动用户
有三种实现方法。让我们先来看第一种方法。

方法 1:

编辑 ~/.bashrc 或 ~/.bash_profile 文件:

$ vi ~/.bashrc

或,

$ vi ~/.bash_profile

将下面行加入其中:

TMOUT=100

这会让用户在停止动作 100 秒后自动登出。你可以根据需要定义这个值。保存并关闭文件。

运行下面命令让更改生效:

$ source ~/.bashrc

或,

$ source ~/.bash_profile

现在让会话闲置 100 秒。100 秒不活动后,你会看到下面这段信息,并且用户会自动退出会话。

timed out waiting for input: auto-logout
Connection to 192.168.43.2 closed.

该设置可以轻易地被用户所修改。因为,~/.bashrc 文件被用户自己所拥有。

要修改或者删除超时设置,只需要删掉上面添加的行然后执行 source ~/.bashrc 命令让修改生效。

此外,用户也可以运行下面命令来禁止超时:

$ export TMOUT=0

或,

$ unset TMOUT

若你想阻止用户修改该设置,使用下面方法代替。

方法 2:
以 root 用户登录。

创建一个名为 autologout.sh 的新文件。

# vi /etc/profile.d/autologout.sh

加入下面内容:

TMOUT=100
readonly TMOUT
export TMOUT

保存并退出该文件。

为它添加可执行权限:

# chmod +x /etc/profile.d/autologout.sh

现在,登出或者重启系统。非活动用户就会在 100 秒后自动登出了。普通用户即使想保留会话连接但也无法修改该配置了。他们会在 100 秒后强制退出。

这两种方法对本地会话和远程会话都适用(即本地登录的用户和远程系统上通过 SSH 登录的用户)。下面让我们来看看如何实现只自动登出非活动的 SSH 会话,而不自动登出本地会话。

方法 3:
这种方法,我们只会让 SSH 会话用户在一段时间不活动后自动登出。

编辑 /etc/ssh/sshd_config 文件:

$ sudo vi /etc/ssh/sshd_config

添加/修改下面行:

ClientAliveInterval 100
ClientAliveCountMax 0

保存并退出该文件。重启 sshd 服务让改动生效。

$ sudo systemctl restart sshd

现在,在远程系统通过 ssh 登录该系统。100 秒后,ssh 会话就会自动关闭了,你也会看到下面消息:

$ Connection to 192.168.43.2 closed by remote host.
Connection to 192.168.43.2 closed.

现在,任何人从远程系统通过 SSH 登录本系统,都会在 100 秒不活动后自动登出了。

以上是“Linux上如何实现让一段时间不活动的用户自动登出功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

免费拨打  400 100 2938 免费拨打 400 100 2938
24小时售后技术支持 24小时售后技术支持
返回顶部 返回顶部