本文介绍怎么中止所有用户会话、特定的用户回话。
中止所有用户会话
下边的shell脚本将通过获取用户会话的tty值来中止所有用户的活动会话linux 执行脚本,并使用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的行linux标准教程,并复印第二列linux虚拟主机,也就是终端名称的哪一行。使用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运行脚本测试:下边列举登入的用户linux 执行脚本,想中止user01的会话。
这么就运行脚本,前面参数加入用户名:
[root@localhost ~]# ./kill-specific-user-sessions.sh user01
之后使用w命令查看,user01会话早已被中止了。
总结
本文简略介绍了怎样使用Shell脚本中止用户会话。