Linux|终端管理|如何踢掉操作系统内的用户

Linux|终端管理|如何踢掉操作系统内的用户本文介绍了 Linux 系统中的 tty pty 和 pts 三个与终端交互相关的概念 包括它们的定义 用途以及如何通过 w who 和 last 等命令进行终端管理和安全监控

大家好,欢迎来到IT知识分享网。

一,

关于终端的一些基本概念

tty、pty 和 pts 是在类 Unix 系统(包括 Linux)中与终端交互相关的概念。它们各自代表不同的方面,并且有着密切的关联。

  1. tty (Teletype)
    • tty 原指老式的电传打字机,后来泛指任何类型的终端设备。
    • 在现代Linux系统中 /dev/tty* 表示实际或虚拟的终端接口,例如 /dev/tty1 到 /dev/tty6 通常是系统的本地控制台(文本模式登录界面),而 /dev/tty 指向当前进程关联的控制终端,这里请注意,本地这个词是要重点突出的!!!!!!!!!!另一个是真实的服务器,比如下图,我这个就是tty,虽然是VMware的虚拟机
  2. Linux|终端管理|如何踢掉操作系统内的用户
  3. pty (Pseudo-TTY, 伪终端)
    • pty 是一种软件模拟的终端设备,它提供了一种机制,使得一个进程可以像操作真正的终端一样与另一个进程进行交互,即使后者不是直接连接到物理TTY设备上。
    • 伪终端由两部分组成:一个“主设备”和一个“从设备”。主设备通常称为 ptmx(pseudo-terminal master multiplexer),从设备一般表示为 /dev/pts/*,如 /dev/pts/0/dev/pts/1 等。
    • 当应用程序(如 ssh、telnet 或者终端模拟器如 gnome-terminal)打开一个pty时,操作系统会创建一对pty设备,其中一方(slave端,即pts)用于接受用户的输入并显示输出,另一方(master端)则可以被服务端程序读写,从而实现远程或者本地的命令行交互。
  4. pts (Pseudo-Terminal Slave, 伪终端从设备)
    • pts 是伪终端的一部分,是用户通过终端模拟器或网络协议(如SSH)登录后使用的那部分逻辑终端,它模拟了物理TTY的行为,允许非本地用户获得类似于本地控制台的交互体验。
    • 当你在 SSH 连接到一台远程服务器时,你实际上是在使用一个 pts 设备,可以通过执行 tty 命令查看当前shell所在的pts设备,例如输出可能是 /dev/pts/2

例如,我这个xshell的登录窗口就是pts了

Linux|终端管理|如何踢掉操作系统内的用户

总结:

  • tty 通常指的是所有类型的终端接口,包括物理终端和虚拟终端。
  • pty 是一种软件模拟的终端设备,它可以模拟真实终端的功能,使得远程或本地进程能够像对待真实的TTY那样工作。
  • pts 是 pty 的一部分,具体是指伪终端的从设备,它是与用户交互的实际入口点,在许多情况下用于支持远程登录和本地命令行应用的子进程。

二、

终端管理的意义

通过w,who,tty这些命令可以查看到有哪些终端是登录的,登录的终端是否是符合我们的预期,例如,有不怀好意的人登录了云服务器,那么,其实通过w命令,我们是能初步的判断哪些人是非法的,哪些人是合法合规的登录

为什么这么说呢?例如,现在我的服务器有两个登录,一个是tty1,一个是pts/0 ,而pts/0 是从我的网关登录的,那么,这就可以确定,我的网络里只有我自己啦

如果此时把from里的IP封禁掉,自然的就登录不了了

 06:53:46 up 29 min, 2 users, load average: 0.00, 0.01, 0.01 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 06:44 9:06 0.00s 0.00s -bash root pts/0 192.168.123.1 06:25 2.00s 0.01s 0.00s w [root@centos7 ~]# who root tty1 2024-03-07 06:44 root pts/0 2024-03-07 06:25 (192.168.123.1) 

三、

t掉其它终端的用户

这个其实非常简单,一个命令的事情(此命令无回显,也就是输出):

pkill -kill -t tty1

想要t掉另一个登录,自然就是下面的命令了(此命令无回显,也就是输出)

pkill -kill -t pts/0

有时候上面这个命令会不生效,那么,下面这个命令也是等价的(此命令是暴力飞踢!!!!不会给终端任何反应时间,需要慎用):

pkill -9 -t pts/0

 那么,还有一个命令更为暴力的,会让所有用户无法登录,必须要重启sshd服务,才会恢复登录:

pkill -u root

 以上这个命令踢完所有root用户后,将无法登录,直到sshd服务重启,在生产环境绝对不可使用,核弹级别的命令!!!!除非您可以本地登录系统后重启sshd服务

🆗,排查系统重启记录以及登录流水:

[root@centos7 ~]# last root pts/0 192.168.123.1 Thu Mar 7 07:12 still logged in reboot system boot 3.10.0-1062.el7. Thu Mar 7 07:11 - 07:21 (00:09) root tty1 Thu Mar 7 06:44 - 07:09 (00:25) root pts/0 192.168.123.1 Thu Mar 7 06:25 - down (00:45) reboot system boot 3.10.0-1062.el7. Thu Mar 7 06:24 - 07:10 (00:46) root pts/0 192.168.123.1 Tue Mar 5 23:56 - crash (1+06:28) root pts/0 192.168.123.1 Tue Mar 5 21:44 - 23:44 (02:00) root pts/1 192.168.123.1 Sat Mar 2 19:09 - 08:37 (13:27) root pts/0 192.168.123.1 Sat Mar 2 18:22 - 08:37 (14:14) reboot system boot 3.10.0-1062.el7. Sat Mar 2 18:19 - 07:10 (4+12:51) root pts/1 192.168.123.1 Sat Mar 2 05:53 - crash (12:26) root pts/0 192.168.123.1 Sat Mar 2 05:19 - crash (13:00) reboot system boot 3.10.0-1062.el7. Sat Mar 2 05:19 - 07:10 (5+01:51) root pts/1 192.168.123.1 Fri Mar 1 05:42 - crash (23:37) root pts/0 192.168.123.1 Fri Mar 1 04:57 - crash (1+00:21) reboot system boot 3.10.0-1062.el7. Fri Mar 1 04:57 - 07:10 (6+02:13) reboot system boot 3.10.0-1062.el7. Wed Feb 28 05:11 - 05:11 (00:00) root pts/0 192.168.123.1 Mon Jun 19 02:20 - crash (254+02:50) reboot system boot 3.10.0-1062.el7. Mon Jun 19 02:20 - 05:11 (254+02:51) root pts/0 192.168.123.1 Mon Jun 19 02:11 - crash (00:08) reboot system boot 3.10.0-1062.el7. Mon Jun 19 02:10 - 05:11 (254+03:01) root pts/0 192.168.123.1 Sun Jun 18 17:55 - crash (08:14) reboot system boot 3.10.0-1062.el7. Sun Jun 18 17:51 - 05:11 (254+11:20) root tty1 Sun Jun 18 17:50 - 17:51 (00:00) root pts/0 192.168.123.1 Sun Jun 18 17:50 - crash (00:01) reboot system boot 3.10.0-1062.el7. Sun Jun 18 17:43 - 05:11 (254+11:28) root tty1 Sun Jun 18 17:21 - 17:21 (00:00) reboot system boot 3.10.0-1062.el7. Sun Jun 18 17:19 - 17:21 (00:01) root tty1 Sun Jun 18 16:41 - 09:19 (-7:-21) reboot system boot 3.10.0-1062.el7. Sun Jun 18 16:10 - 17:21 (01:10) reboot system boot 3.10.0-1062.el7. Sun Jun 18 08:49 - 17:21 (08:32) wtmp begins Sun Jun 18 08:49:26 2023 [root@centos7 ~]# date Thu Mar 7 07:21:27 CST 2024 

 可以看到,最后一次重启时间是7点11重启的,也就是第二行的倒数第三列

🆗,本文仅仅做为一个简单的记录,很多东西不写记不住,感觉稍微有点意思

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/151402.html

(0)
上一篇 2025-03-13 20:45
下一篇 2025-03-13 21:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信