加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

确保没有登录控制台会话(Linux)

发布时间:2020-12-13 17:21:31 所属栏目:Linux 来源:网络整理
导读:在使用bash作为默认 shell的 Linux系统上,我想使用以下条件配置自动注销: 在指定的时间段后注销控制台会话(VGA,串行,远程KVM等) 即使在运行“非空闲”进程(如top)时,也会注销控制台会话 SSH会话不会以这种方式注销 目的是确保无论是通过VGA还是远程KVM或串
在使用bash作为默认 shell的 Linux系统上,我想使用以下条件配置自动注销:

>在指定的时间段后注销控制台会话(VGA,串行,远程KVM等)
>即使在运行“非空闲”进程(如top)时,也会注销控制台会话
> SSH会话不会以这种方式注销

目的是确保无论是通过VGA还是远程KVM或串行,都不会意外登录控制台会话.我希望在我们的网站上确保这一点.

由于第二个项目符号,TMOUT环境变量并不能完全满足我的需求.

我可以找到一个快速的解决方案来杀死某个年龄段的登录过程,但这似乎很脆弱,容易产生副作用.我可以查找/ proc / $PID / fd / 0链接到/ dev / tty *的shell.

这似乎是一个必须已经解决的问题.关于如何实现这一点的任何指示都非常感谢.

解决方法

您可以在crontab中运行此脚本,以便每隔几分钟消除除ssh之外的会话:
pkill -t $(ps  aho tty,command | egrep -v ssh | cut -d" " -f1 |sort |uniq | paste -sd",")

ps aho tty,命令会列出procceses及其TTY.
egrep -v ssh将从列表中删除ssh会话.
cut -d“” – f1只会选择ps的TTY部分.
排序& uniq会删除重复项.
paste -sd“,”会使逗号形成的列表与pkill命令一起运行.

pkill -t TTY would kill the proccess owned by TTY

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读