当前位置:主页 > 查看内容

如何在 Linux 中使用 Shell 脚本终止用户会话?

发布时间:2021-04-23 00:00| 位朋友查看

简介:本文介绍如何终止所有用户会话、特定的用户回话。 终止所有用户会话 下面的shell脚本将通过获取用户会话的tty值来终止所有用户的活动会话,并使用pkill命令将其终止: [root@localhost~]#vimkill- user -sessions.sh #!/bin/bash usession=$(w|awk '{if(NR!=……

本文介绍如何终止所有用户会话、特定的用户回话。

终止所有用户会话

下面的shell脚本将通过获取用户会话的tty值来终止所有用户的活动会话,并使用pkill命令将其终止:

  1. [root@localhost ~]# vim kill-user-sessions.sh 
  2.  
  3. #!/bin/bash 
  4. usession=$(w | awk '{if (NR!=1) {print $2 }}' | tail -n +2) 
  5. for i in $usession 
  6. do 
  7.   pkill -9 -t $i 
  8. done 

给脚本加上可执行权限:

  1. [root@localhost ~]# chmod +x kill-user-sessions.sh 

上面脚本使用w命令列出登录系统的用户,使用awk命令列出行号不等于1的行,并打印第二列,也就是终端名称的哪一行。使用tail命令列出第2行到末行的内容。

如何终止指定用户的会话?

下面实例中,运行脚本后面加上用户名,就会终止这个用户的登录。

  1. [root@localhost ~]# cat kill-specific-user-sessions.sh  
  2. #!/bin/bash 
  3. usession=$(w $1 | awk '{if(NR!=1) {print $2}}'|tail -n +2) 
  4. for i in $usession 
  5. do 
  6. pkill -9 -t $i 
  7. done 

运行脚本测试:下面列出登录的用户,想终止user01的会话。

那么就运行脚本,后面参数加入用户名:

  1. [root@localhost ~]# ./kill-specific-user-sessions.sh user01 

然后使用w命令查看,user01会话已经被终止了。

总 结

本文简要介绍了如何使用Shell脚本终止用户会话。

本文转载自微信公众号「 Linux就该这么学」,可以通过以下二维码关注。转载本文请联系 Linux就该这么学公众号


本文转载自网络,原文链接:https://mp.weixin.qq.com/s/9wrqMTqnMM_22Yq7870YUA
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐