让我们想象这么一个场景。你有一台服务器经常被网络中各系统的很多个用户访问。有可能出现某些用户忘记登出会话让会话保持会话处于连接状态。我们都知道留下一个处于连接状态的用户会话是一件多么危险的事情。有些用户可能会借此故意做一些损坏系统的事情。而你,作为一名系统管理员,会去每个系统上都检查一遍用户是否有登出吗?其实这完全没必要的。而且若网络中有成百上千台机器,这也太耗时了。不过,你可以让用户在本机或 SSH 会话上超过一定时间不活跃的情况下自动登出。本教程就将教你如何在类 Unix 系统上实现这一点。一点都不难。跟我做。

在 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 上让一段时间不活动的用户自动登出方法介绍的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

linux自动登出时间,Linux 上让一段时间不活动的用户自动登出方法介绍相关推荐

  1. git统计历史上某一段时间代码的修改量

    git统计历史上某一段时间代码的修改量 有两个方法,一个是git log的since - until,另外一个是git log after before,例如: git log --after=&qu ...

  2. unity打出apk包在模拟器上运行一段时间后卡顿卡死

    笔者在开发unity游戏时,打出的apk包在模拟器上跑一段时间后卡顿卡死. 具体情况为,用安卓模拟器跑游戏,然后用电脑跑其他比较耗cpu的应用,一段时间后游戏帧数逐渐降低,直到0.000几帧,相当于游 ...

  3. tomcat服务器一直自动关,项目在tomcat里运行一段时间总是自动崩掉的问题排查与解决...

    最近的检验系统上线一段时间后,发现系统访问不了,tomcat总是会自动崩掉,一般遇到这种问题,程序员的第一反应都肯定是内存溢出. 确实是,但是java里内存分好几种,堆内存.栈内存.静态内存区等等,下 ...

  4. linux下录音识别成文字软件,如何将录音转换成文字?录音转文字简单方法介绍...

    如何将录音转换成文字?录音转文字简单的方法是什么?很多小伙伴对录音转文字,文字阿欢语音方便的需求还是蛮大的,因为它对我们的帮助还是蛮大的,可以快速把录制好的录音转换成文字,并且还有实时翻译功能,下面给 ...

  5. java 把时间上加一段时间

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  6. oracle时间判断上下午,oracle查询时间的判断

    oracle查询时间的判断 关键字: oracle查询时间的判断 查询一个语句想知道这次查询用了多少时间 时间可以精确到1/1000000秒,我一直使用下面的方法: CREATE   OR   REP ...

  7. 判断一段时间是否包含令一段时间

    package com.itheima.demo;import cn.hutool.core.date.DateUtil;import java.util.Date;public class Date ...

  8. android 停止一段时间,repo sync 工作一段时间后就停止了

    $?=1; while [ $? -ne 0 ] ; do repo sync ; done 然后repo sync 工作一段时间后就不动了: Fetching projects:  95% (210 ...

  9. tomcat自动运行磁盘任意位置上的项目、使用Maven对tomcat进行自动部署

     对于非Maven的web项目,有时候我们想不时常通过打war包.拷贝war包.启动tomcat来运行项目.这时候我们可以通过以下方式来进行配置: 1.1:创建web工程.工程结构如下: 1.2. ...

最新文章

  1. python连接服务器失败_python-查询期间失去与MySQL服务器的连接
  2. 使用RestTemplate消费Hybris User API获取指定用户的信息
  3. LeetCode题解-23 合并K个排序链表 Hard
  4. HiveSQL技术原理、优化[深度解析]
  5. 在JavaScript中将字符转换为ASCII代码
  6. vscode android调试,使用VsCode开发调试React Native笔记
  7. 基于相关向量机RVM的分类算法
  8. 【狂神说Redis】2Redis入门 2-2Redis部署在Linux(Ubuntu)
  9. 螺杆式、离心式、活塞式冷水机组及品牌
  10. 无线路由器和有线路由器桥接
  11. 关于Unity中unitypackage文件的图标显示及打开方式异常问题的解决
  12. Excel·VBA按列拆分工作表、工作簿
  13. Speedoffice(excel)如何加粗边框线条
  14. 有限状态机(FSM)设计原理
  15. 一个用于银联手机支付的GEM介绍
  16. 译|深入理解Metaspace
  17. dotnet C# 将 Byte 二进制数组使用不安全代码快速转换为 int 或结构体数组
  18. 建立学生表和课程信息及基本操作
  19. JJ斗地主记牌器java开发_【欢乐斗地主记牌器制作】遇到两个问题
  20. iOS10 注册极光推送(干货)

热门文章

  1. 会话管理_优秀会话管理指南
  2. aix系统怎么修改服务器时间同步,AIX时间同步
  3. 选择结构【C语言程序设计】
  4. C语言训练-阶乘和数
  5. 匿名函数的表达式可以有多个吗python_匿-匿的意思-匿什么意思-匿的读音-匿的解释-新华字典-秒查询...
  6. 高性能MySQL(3th)(第六章 sql优化) —— 01 减少冗余数据
  7. Java字节输入流的读方法(两种read方法)
  8. android 微信回弹,完美解决safari、微信浏览器下拉回弹效果。
  9. 如何让python进程常驻内存_常驻内存程序--python+rrd监控cpu
  10. Pixy(Cmucam5)通过SPI与Arduino通信