linux系统中中断已连接的用户

时间:2023-03-08 23:06:37
linux系统中中断已连接的用户

1、用w命令查看当前系统登录的用户

[root@rhel7 ~]# w
:: up :, users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/ 192.168.1.100 : .00s .06s .02s w
lxj2 pts/ 192.168.1.100 : .00s .00s .00s -bash
rusky pts/ 192.168.1.100 : .00s .01s .01s -bash
[root@rhel7 ~]#

USER —登录的用户名
TTY   —登录后系统分配的终端号
FROM—远程主机名,即从哪儿登录来的
LOGIN@—何时登录
IDLE—空闲了多长时间,表示用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置
JCPU—和该终端(tty)连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间
PCPU—指当前进程(即在WHAT项中显示的进程)所占用的时间
WHAT—当前正在运行进程的命令行

2、使用ps -u username命令查看用户进程,然后kill掉对应用户的sshd进程

[root@rhel7 ~]# ps -u lxj2
PID TTY TIME CMD
? :: sshd
pts/ :: bash
[root@rhel7 ~]# kill -
[root@rhel7 ~]# ps -u lxj2
PID TTY TIME CMD
[root@rhel7 ~]# w
:: up :, users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/ 192.168.1.100 : .00s .17s .00s w
rusky pts/ 192.168.1.100 : :07m .00s .00s -bash
[root@rhel7 ~]#

3、还有另外一种方式是使用pkill命令终止用户连接

[root@rhel7 ~]# w
:: up :, users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/ 192.168.1.100 : .00s .18s .01s w
lxj2 pts/ 192.168.1.100 : .00s .02s .02s -bash
rusky pts/ 192.168.1.100 : :45m .00s .00s -bash
[root@rhel7 ~]# pkill -kill -t pts/
[root@rhel7 ~]# w
:: up :, users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/ 192.168.1.100 : .00s .18s .00s w
rusky pts/ 192.168.1.100 : :46m .00s .00s -bash
[root@rhel7 ~]# pkill -kill -t pts/
[root@rhel7 ~]# w
:: up :, user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/ 192.168.1.100 : .00s .19s .01s w
[root@rhel7 ~]#

========

其它:通过用户的ssh进程号来中断用户连接:

使用pstree -p 命令来查出用户的会话ID。

[root@rhel7 test]# pstree -p
.......
├─rhnsd()
├─rhsmcertd()
├─rngd()
├─rsyslogd()─┬─{rsyslogd}()
│ └─{rsyslogd}()
├─rtkit-daemon()─┬─{rtkit-daemon}()
│ └─{rtkit-daemon}()
├─smartd()
├─sshd(1422)─┬─sshd(7495)───bash(7502)───su(8544)───bash(8545)───su(8965)───bash(8970)───pstree(10449)
│ ├─sshd(7788)───bash(7792)───su(7873)───bash(7874)
│ └─sshd(8609)───sshd(8615)───bash(8618)
├─systemd-journal()
├─systemd-logind()
├─systemd-udevd()
├─tuned()─┬─{tuned}()
│ ├─{tuned}()
│ ├─{tuned}()
│ └─{tuned}()
├─udisksd()─┬─{udisksd}()
│ ├─{udisksd}()
│ ├─{udisksd}()
│ └─{udisksd}()
├─upowerd()─┬─{upowerd}()
│ └─{upowerd}()
└─wpa_supplicant()

根据上图中的sshd部分,删除最近连接的会话7788。

kill -9 7788