通常我們將一套鍵盤鼠標以及顯示器這樣的輸入輸出設備稱為一個終端,直接連接在電腦主機上的稱為物理終端。在操作安裝有Windows系統(tǒng)的電腦時,通常是只有一套物理終端并且只有一個操作界面。而Linux系統(tǒng)支持虛擬終端,在操作安裝有Linux系統(tǒng)的計算機時,用戶雖然面對的也是一套物理終端設備,但卻可以通過虛擬終端打開多個互不干擾、獨立工作的界面。
Linux中提供的虛擬終端默認有6個,其中第一個是圖形界面,第二到第六個則是字符界面??梢酝ㄟ^Ctrl+Alt+F(1~ 6)組 合鍵在不同的虛擬終端之間進行切換。比如,安裝有X Window的Linux系統(tǒng)啟動之后,默認進入第一個虛擬終端中的圖形界面,此時按下組合鍵Ctrl+Alt+F2就進入到了第二個虛擬終端,這就是一個字符界面了。
虛擬終端的縮寫為tty,在字符界面下執(zhí)行“tty”命令就可以顯示用戶當前所在的終端編號。
由于我們通常都是通過網(wǎng)絡遠程對Linux服務器進行管理,這種通過遠程登錄方式所打開的終端稱為偽終端(pts)。比如我們通過Xshell遠程登錄到Linux系 統(tǒng),然后同樣執(zhí)行tty命令,發(fā)現(xiàn)顯示的結果為“/dev/pts/0”,表示這是系統(tǒng)啟動的第一個偽終端(偽終端的編號從0開始)。
另外,如果Linux系統(tǒng)安裝了X Window,那么在圖形界面中,右鍵單擊桌面空白處,選擇“在終端中打開”,此時所打開的也是一個pts偽終端。但由于在生產(chǎn)環(huán)境中很少有人會這樣操作,所以這種情況可以忽略不計。
總結一下,對于Linux系統(tǒng)而言,終端主要分為兩類:
設置信息,執(zhí)行分區(qū)格式化等操作。接下來會從分發(fā)點服務器下載“Install.wim”映像包,解壓后啟動系統(tǒng)安裝程序,選擇
從who命令的執(zhí)行結果可以發(fā)現(xiàn),有3個用戶正在以root用戶的身份登錄系統(tǒng)。其中第一行信息沒有顯示終端,表明root用戶是在本地登錄,由于是本地登錄,因而未顯示IP地址。第二行信息表明root用戶在遠程的偽終端pts/0上登錄,并顯示了登錄IP。第三行信息表明root用戶在本地的虛擬終端tty2上登錄,同樣不顯示IP地址。
下面我們在系統(tǒng)中創(chuàng)建一個名為hacker的賬號,并利用該賬號在某個終端上遠程登錄。
創(chuàng)建賬號并設置密碼:
更改用戶hacker的密碼。
passwd:所有的身份驗證令牌已經(jīng)成功更新。
然后在另外一臺Kali系統(tǒng)中(IP地 址192.168.80.20)利用hacker賬號遠程登錄Linux服務器(IP地址192.168.80.146):
登錄成功之后,在Linux服務器中執(zhí)行who命令查看當前登錄用戶??梢园l(fā)現(xiàn)有一個可疑用戶正在IP地址為192.168.80.20的客戶端上遠程登錄,其所在終端編號為pts/1。
下面我們將這個可疑用戶踢出系統(tǒng)。
首先需要根據(jù)可疑用戶所在終端查找出該終端所對應的進程,可以執(zhí)行“ps aux| grep pts/1”命令。從命令的執(zhí)行結果可以看到PID為103707的進程對應的終端為pts/1,而且該進程是由bash啟動的,這正是我們所要找的終端進程。
然后通過kill命令強制終止該進程。
再次執(zhí)行who命令,發(fā)現(xiàn)可疑用戶已經(jīng)被踢出,而且該用戶啟動的所有進程也將自動關閉(通過nohup命令轉為系統(tǒng)后臺進程的除外)。