Linux查看系統當前登錄用戶的命令,top命令看到users有多個用戶登錄
作為系統管理員,top命令看到users有多個用戶登錄,會需要查看下是否被黑客進入了。
實戰例子:
top命令:
top - 02:54:45 up 1 day, 2:32, 3 users
-----------
[root@alternative-unicorn-2 ~]# who
root pts/0 2019-09-18 02:27 (113.117.124.181)
root pts/1 2019-09-18 02:37 (113.117.124.181)
root pts/2 2019-09-18 02:42 (113.117.124.181)
[root@alternative-unicorn-2 ~]# w
02:55:02 up 1 day, 2:23, 3 users, load average: 0.00, 0.01, 0.03
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 113.117.124.181 02:27 22:53 0.03s 0.03s -bash
root pts/1 113.117.124.181 02:37 17:38 0.00s 0.00s -bash
root pts/2 113.117.124.181 02:42 1.00s 0.05s 0.00s w
[root@alternative-unicorn-2 ~]# who | cut -d' ' -f1 | sort | uniq
root
[root@alternative-unicorn-2 ~]# users
root root root
用命令查了,原來top命令出來的多個用戶都是root,IP都是同一個,原因是網絡不穩定,經常斷開自動重連了導致的。
===================
1. 使用w命令查看登錄用戶正在使用的進程信息
w命令用於顯示已經登錄系統的用戶的名稱,以及他們正在做的事。該命令所使用的信息來源於/var/run/utmp文件。w命令輸出的信息包括:
用戶名稱
用戶的機器名稱或tty號
遠程主機地址
用戶登錄系統的時間
空閑時間(作用不大)
附加到tty(終端)的進程所用的時間(JCPU時間)
當前進程所用時間(PCPU時間)
用戶當前正在使用的命令
w命令還可以使用以下選項
-h忽略頭文件信息
-u顯示結果的加載時間
-s不顯示JCPU, PCPU, 登錄時間
2.使用who命令查看(登錄)用戶名稱及所啟動的進程
who命令用於列舉出當前已登錄系統的用戶名稱。其輸出為:用戶名、tty號、時間日期、主機地址。
如果只希望列出用戶,可以使用如下語句:
$ who | cut -d' ' -f1 | sort | uniq
3.users命令,可用於打印輸出登錄服務器的用戶名稱。該命令除了有help和version選項外,再沒有其他選項。
如果某用戶使用了多個終端,則相應的會顯示多個重復的用戶名。
4.whoami命令用於顯示登入的用戶名。
whoami命令的執行效果和id -un的效果完全一樣
whoami命令能顯示當前登入的用戶名稱,以及當前所使用的tty信息。該命令的輸出結果包括如下內容:用戶名、tty名、當前時間日期,同時還包括用戶登錄系統所使用的鏈接地址。
如果你使用su命令改變用戶,則該命令(whoami)所顯示的結果將隨之改變。
5.last命令可用於顯示特定用戶登錄系統的歷史記錄。如果沒有指定任何參數,則顯示所有用戶的歷史信息。在默認情況下,這些信息(所顯示的信息)將來源於/var/log/wtmp文件。該命令的輸出結果包含以下幾列信息:
用戶名稱
tty設備號
歷史登錄時間日期
登出時間日期
總工作時間
====================
Linux查看用戶列表
cat /etc/passwd 可以查看所有用戶的列表
w 可以查看當前活躍的用戶列表
cat /etc/group 查看用戶組
groups 查看當前登錄用戶的組內成員
groups root 查看root用戶所在的組,以及組內成員
whoami 查看當前登錄用戶名
一個簡明的layout命令
cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more