共计 693 个字符,预计需要花费 2 分钟才能阅读完成。
导读 | 本文介绍如何终止所有用户会话、特定的用户回话。 |
终止所有用户会话
下面的 shell 脚本将通过获取用户会话的 tty 值来终止所有用户的活动会话,并使用 pkill 命令将其终止:
[root@localhost ~]# vim kill-user-sessions.sh
#!/bin/bash
usession=$(w | awk '{if (NR!=1) {print $2}}' | tail -n +2)
for i in $usession
do
pkill -9 -t $i
done
给脚本加上可执行权限:
[root@localhost ~]# chmod +x kill-user-sessions.sh
上面脚本使用 w
命令列出登录系统的用户,使用 awk
命令列出行号不等于 1 的行,并打印第二列,也就是终端名称的哪一行。使用 tail
命令列出第 2 行到末行的内容。
如何终止指定用户的会话?
下面实例中,运行脚本后面加上用户名,就会终止这个用户的登录。
[root@localhost ~]# cat kill-specific-user-sessions.sh
#!/bin/bash
usession=$(w $1 | awk '{if(NR!=1) {print $2}}'|tail -n +2)
for i in $usession
do
pkill -9 -t $i
done
运行脚本测试:下面列出登录的用户,想终止 user01 的会话。
那么就运行脚本,后面参数加入用户名:
[root@localhost ~]# ./kill-specific-user-sessions.sh user01
然后使用 w
命令查看,user01 会话已经被终止了。
总结
本文简要介绍了如何使用 Shell 脚本终止用户会话。
正文完
星哥玩云-微信公众号