想象一下这样的场面吧。 有一台服务器经常被网络上每个系统的许多用户访问。 可能有用户忘记注销会话并保持会话连接。 我知道保留处于连接状态的用户会话是多么危险的事。 可能也有用户利用这个故意做破坏系统的事。 作为系统管理员,您是否要检查所有系统中的用户是否已注销? 其实这个完全没有必要。 如果互联网上有几百台机器,这也太费时间了。 但是,如果用户在本地或SSH会话中未处于活动状态超过一定时间,则可以选择自动注销。 本教程介绍如何在类Unix系统上实现这一点。 一点也不难。 和我一起做。
在Linux上一定时间后自动注销非活动用户
有三种实现方法。 我们先来看看第一种方法。
方法1 :
编辑~/.bashrc或~/.bash_profile文件:
$ vi ~/.bashrc
或者,
$ vi ~/.bash_profile
添加以下行:
TMOUT=100
这样,用户将在停止操作100秒后自动注销。 您可以根据需要定义此值。 保存并关闭文件。
执行以下命令使更改生效:
$ source ~/.bashrc
或者,
$ source ~/.bash_profile
现在让会话空闲100秒。 如果在100秒内没有活动,则会显示类似以下内容的消息,用户将自动关闭会话。
timedoutwaitingforinput :自动布局
连接到192.168.43.2关闭。
用户可以很容易地更改此设置。 因为~/.bashrc文件是用户自己拥有的。
要更改或删除超时设置,只需删除上面添加的行,然后运行source ~/.bashrc命令使更改生效即可。
用户还可以通过运行以下命令来禁止超时:
$ export TMOUT=0
或者,
$ unset TMOUT
要阻止用户更改此设置,请使用以下方法:
方法2 :
以root用户身份登录。
创建一个名为autologout.sh的新文件。
# VI/etc/profile.d/auto logout.sh
添加以下内容:
TMOUT=100
就绪时间
导出时间
保存并退出文件。
添加可执行的权限。
# chmodx/etc/profile.d/auto logout.sh
现在注销或重新启动系统。 非活动用户将在100秒后自动注销。 普通用户想保持会话连接,但不能变更配置。 他们100秒后强制结束。
这两种方法都适用于本地会话和远程会话。 这意味着本地登录的用户和远程系统上通过SSH登录的用户。 现在,我们来看看如何仅自动注销非活动的SSH会话,而不是自动注销本地会话。
方法3 :
通过这种方法,您只需在SSH会话用户在一段时间内不活动后自动注销即可。
编辑/etc/ssh/sshd_config文件:
$ sudo vi /etc/ssh/sshd_config
添加/修改以下行:
客户端100
ClientAliveCountMax 0
保存并退出文件。 重新启动sshd服务以使更改生效。
$ sudo systemctl restart sshd
现在,您在远程系统上通过ssh登录到系统。 100秒后,ssh会话将自动关闭,并显示以下消息:
$ connection to 192.168.43.2 closedbyremotehost。
连接到192.168.43.2关闭。
目前,任何通过SSH从远程登录本系统的人在100秒钟内不再活动后都会自动注销。
以上是服务器主页介绍的有关如何自动注销在Linux上已有一段时间不活动的用户的全部内容。 希望能帮到大家。 感兴趣的请继续参考本网站的其他相关主题。 如果有不足的地方,欢迎评论。 感谢朋友们对本站的支持!