7.12 id:顯示用戶與用戶組的信息
id命令能夠顯示指定用戶真實有效的用戶ID(UID)和組ID(GID)等信息。
id [option] [username]
-g 顯示用戶組ID
-G 顯示用戶所屬附加群組的ID
-n 顯示用戶,所屬群組或附加群組的名稱,不顯示數字
-r 顯示實際ID
-u 顯示用戶ID
[root@doit ~]# id uid=0(root) gid=0(root) groups=0(root) [root@cs6 ~]# id lewen uid=901(lewen) gid=801(sa) groups=801(sa) [root@cs6 ~]# id lewen uid=901(lewen) gid=801(sa) groups=801(sa) [root@cs6 ~]# id -g 0 [root@cs6 ~]# id -gn root [root@cs6 ~]# id -u 0 [root@cs6 ~]# id -un root
7.13 w:顯示已登錄用戶信息
w命令可以顯示已經登錄系統的用戶,並顯示用戶正在執行的命令。
w [option] [user]
user參數是顯示指定用戶的信息。
-h 不顯示前兩行標題信息
-u 忽略執行程序的名稱,以及CPU時間的信息
-s 使用短輸出格式
[root@cs6 ~]# w 13:16:55 up 19:20, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 10.0.0.1 13:16 6.00s 0.03s 0.03s -bash root pts/1 10.0.0.1 10:50 0.00s 0.10s 0.03s w
以下是上述范例命令輸出結果的格式說明。
上面的第1行輸出依次顯示了當前的系統時間、系統從啟動到現在已經運行的時間、登錄到系統中的用戶數和系統平均負載。平均負載是指在lmin、5min、15min內系統的負載狀況。
USER:表示登錄系統的用戶。
TTY:表示用戶使用的TTY名稱。
FROM:表示用戶從哪里登錄進來,一般顯示遠程登錄主機的IP地址或主機名。
LOGIN@:用戶登錄的日期和時間。
IDLE:顯示終端的空閑時間。
JCPU:表示該終端上的所有進程及子進程使用系統的總時間。
PCPU:當前活動進程使用的系統時間。
WHAT:當前用戶執行的進程名稱和選項。
[root@cs6 ~]# w -h root pts/0 10.0.0.1 13:16 1:26 0.03s 0.03s -bash root pts/1 10.0.0.1 10:50 0.00s 0.07s 0.00s w -h
7.14 who:顯示已登錄用戶信息
who命令能夠顯示已經登錄系統的用戶,以及系統的啟動時間等信息。
-a 顯示所有信息,相當於-b -d -login -p -r -t -T -u
-b 顯示系統的啟動時間
-d 顯示已死的進程
-H 顯示標題,默認不顯示
-l 顯示登錄進程
[root@cs6 ~]# who root pts/0 2019-05-12 10:34 (10.0.0.1) root pts/1 2019-05-12 10:50 (10.0.0.1) [root@cs6 ~]# who -b #<=顯示啟動時間。 system boot 2019-05-11 17:56 [root@cs6 ~]# who -d pts/0 2019-05-12 13:11 2506 id=ts/0 term=0 exit=0 [root@cs6 ~]# who -l #<—顯示登錄的進程 LOGIN tty1 2019-05-11 17:56 1483 id=1 LOGIN tty2 2019-05-11 17:56 1485 id=2 LOGIN tty3 2019-05-11 17:56 1487 id=3 LOGIN tty4 2019-05-11 17:56 1489 id=4 LOGIN tty5 2019-05-11 17:56 1491 id=5 LOGIN tty6 2019-05-11 17:56 1493 id=6 [root@cs6 ~]# who -H NAME LINE TIME COMMENT root pts/1 2019-05-12 10:50 (10.0.0.1)
顯示最全的登錄用戶的信息
[root@cs6 ~]# who -H -a NAME LINE TIME IDLE PID COMMENT EXIT system boot 2019-05-11 17:56 run-level 3 2019-05-11 17:56 LOGIN tty1 2019-05-11 17:56 1483 id=1 LOGIN tty2 2019-05-11 17:56 1485 id=2 LOGIN tty3 2019-05-11 17:56 1487 id=3 LOGIN tty4 2019-05-11 17:56 1489 id=4 LOGIN tty5 2019-05-11 17:56 1491 id=5 LOGIN tty6 2019-05-11 17:56 1493 id=6 pts/0 2019-05-12 13:11 2506 id=ts/0 term=0 exit=0 root + pts/1 2019-05-12 10:50 . 2533 (10.0.0.1) 一般情況下,who命令的輸出格式為: 名稱 [狀態] 線路時間 [活動] [進程標識](主機名) 其中各項的說明如下。 名稱:用戶的登錄名。 狀態:表明線路對用戶是否都是可寫的。 線路:類似於pts/1、pts/2等,此線路標識在/dev目錄中可以找到。 時間:用戶登錄系統的時間。 活動:某個用戶在自己的線路上最后一次活動發生以來到現在的時間。如果此項是個“.”,就表示一分鍾內的線路活動;如果線路保持靜止已經超過24小時,或者自從系統啟動以來還沒有使用過,那么此項標記為“old”。 進程標識:用戶登錄Shell的進程id。 主機名:登錄到Linux系統上的客戶端機器標識。
7.15 users:顯示已登錄用戶
users命令可以顯示已經登錄系統的用戶。如果是同一用戶登錄多次,則登錄幾次就會顯示幾次用戶名。
[root@cs6 ~]# users
root root
7.16 whoami:顯示當前登錄的用戶名
whoami命令用於顯示當前登錄的用戶名,這個命令可以看作英文短句who ami的簡寫。
顯示當前登錄的用戶名稱例子。 [root@cs6 ~]# whoami root
7.17 last:顯示用戶登錄列表
last 命令能夠從日志文件/var/log/wtmp讀取信息並顯示用戶最近的登錄列表。
顯示用戶最近登錄的列表。
[root@cs6 ~]# last -10 root pts/1 10.0.0.1 Sun May 12 10:50 still logged in root pts/0 10.0.0.1 Sun May 12 10:34 still logged in root pts/0 10.0.0.1 Sun May 12 06:23 - 10:25 (04:01) root pts/1 10.0.0.1 Sat May 11 20:37 - 10:25 (13:47) root pts/0 10.0.0.1 Sat May 11 17:57 - 20:43 (02:46) reboot system boot 2.6.32-754.el6.x Sat May 11 17:56 - 13:04 (19:07) root pts/0 10.0.0.1 Sat May 11 17:08 - down (00:48) reboot system boot 2.6.32-754.el6.x Sat May 11 17:07 - 17:56 (00:48) root pts/1 10.0.0.1 Sat May 11 15:31 - down (01:35) root pts/0 10.0.0.1 Sat May 11 12:46 - down (04:21) wtmp begins Sun May 5 23:13:36 2019 [root@cs6 ~]# last lewen # 顯示用戶登錄情況 wtmp begins Sun May 5 23:13:36 2019
7.18 lastb:顯示用戶登錄失敗的記錄
lastb命令可以從日志文件/var/log/btmp中讀取信息,並顯示用戶登錄失敗的記錄,用於發現系統登錄異常。
-num 指定顯示結果的行教*
-n num
[root@cs6 ~]# lastb vagrant ssh:notty 10.0.0.1 Sun May 5 23:20 - 23:20 (00:00) vagrant ssh:notty 10.0.0.1 Sun May 5 23:20 - 23:20 (00:00) vagrant ssh:notty 10.0.0.1 Sun May 5 23:19 - 23:19 (00:00) vagrant ssh:notty 10.0.0.1 Sun May 5 23:19 - 23:19 (00:00) btmp begins Sun May 5 23:19:47 2019
7.19 lastlog:顯示所有用戶的最近登錄記錄
lastlog命令從日志文件/var/log/lastlog中讀取信息,並顯示所有用戶的最近登錄記錄,用於查看系統是否有異常登錄。
顯示所有用戶的最近登錄記錄。
[root@cs6 ~]# lastlog Username Port From Latest root pts/1 10.0.0.1 Sun May 12 10:50:00 +0800 2019 bin **Never logged in** daemon **Never logged in** adm **Never logged in** lp **Never logged in** sync **Never logged in** shutdown **Never logged in** halt **Never logged in** mail **Never logged in** uucp **Never logged in** operator **Never logged in** games **Never logged in** gopher **Never logged in** ftp **Never logged in** nobody **Never logged in** vcsa **Never logged in** saslauth **Never logged in** postfix **Never logged in** sshd **Never logged in** ntp **Never logged in** ett **Never logged in** lewen **Never logged in** inca **Never logged in** kevin **Never logged in** #<=當從不登錄的系統用戶突然登錄了,就要懷疑是否有用戶侵入系統了。