Linux下用於檢視系統當前登入使用者資訊

Michael_DD發表於2014-03-10

 Linux下用於檢視系統當前登入使用者資訊



作為系統管理員,你可能經常會(在某個時候)需要檢視系統中有哪些使用者正在活動。有些時候,你甚至需要知道他(她)們正在做什麼。本文為我們總結了4種檢視系統使用者資訊(透過編號(ID))的方法。

1. 使用w命令檢視登入使用者正在使用的程式資訊

w命令用於顯示已經登入系統的使用者的名稱,以及他們正在做的事。該命令所使用的資訊來源於/var/run/utmp檔案。w命令輸出的資訊包括:

  • 使用者名稱稱
  • 使用者的機器名稱或tty號
  • 遠端主機地址
  • 使用者登入系統的時間
  • 空閒時間(作用不大)
  • 附加到tty(終端)的程式所用的時間(JCPU時間)
  • 當前程式所用時間(PCPU時間)
  • 使用者當前正在使用的命令

w命令還可以使用以下選項

  • -h忽略標頭檔案資訊
  • -u顯示結果的載入時間
  • -s不顯示JCPU, PCPU, 登入時間
$ w 23:04:27 up 29 days,  7:51,  3 users,  load average: 0.04, 0.06, 0.02
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
ramesh   pts/0    dev-db-server        22:57    8.00s  0.05s  0.01s sshd: ramesh [priv]
jason    pts/1    dev-db-server        23:01    2:53   0.01s  0.01s -bash
john     pts/2    dev-db-server        23:04    0.00s  0.00s  0.00s w

$ w -h ramesh   pts/0    dev-db-server        22:57   17:43   2.52s  0.01s sshd: ramesh [priv]
jason    pts/1    dev-db-server        23:01   20:28   0.01s  0.01s -bash
john     pts/2    dev-db-server        23:04    0.00s  0.03s  0.00s w -h

$ w -u  23:22:06 up 29 days,  8:08,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
ramesh   pts/0    dev-db-server        22:57   17:47   2.52s  2.49s top
jason    pts/1    dev-db-server        23:01   20:32   0.01s  0.01s -bash
john     pts/2    dev-db-server        23:04    0.00s  0.03s  0.00s w -u

$ w -s 23:22:10 up 29 days,  8:08,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM               IDLE WHAT
ramesh   pts/0    dev-db-server        17:51  sshd: ramesh [priv]
jason    pts/1    dev-db-server        20:36  -bash
john     pts/2    dev-db-server         1.00s w -s


2.使用who命令檢視(登入)使用者名稱稱及所啟動的程式

who命令用於列舉出當前已登入系統的使用者名稱稱。其輸出為:使用者名稱、tty號、時間日期、主機地址。


$ who ramesh pts/0        2009-03-28 22:57 (dev-db-server)
jason  pts/1        2009-03-28 23:01 (dev-db-server)
john   pts/2        2009-03-28 23:04 (dev-db-server)
如果只希望列出使用者,可以使用如下語句:



$ who | cut -d' ' -f1 | sort | uniq john
jason
ramesh
補充:users命令,可用於列印輸出登入伺服器的使用者名稱稱。該命令除了有help和version選項外,再沒有其他選項。如果某使用者使用了多個終端,則相應的會顯示多個重複的使用者名稱。




$ users john jason ramesh


3. 使用whoami命令檢視你所使用的登入名稱

whoami命令用於顯示登入的使用者名稱。


$ whoami john
whoami命令的執行效果和id -un的效果完全一樣,例如:



$ id -un john
whoami命令能顯示當前登入的使用者名稱稱,以及當前所使用的tty資訊。該命令的輸出結果包括如下內容:使用者名稱、tty名、當前時間日期,同時還包括使用者登入系統所使用的連結地址。



$ who am i john     pts/2        2009-03-28 23:04 (dev-db-server)

$ who mom likes john     pts/2        2009-03-28 23:04 (dev-db-server) Warning: Don't try "who mom hates" command.
當然,如果你使用su命令改變使用者,則該命令(whoami)所顯示的結果將隨之改變。



4. 隨時檢視系統的歷史資訊(曾經使用過系統的使用者資訊)

last命令可用於顯示特定使用者登入系統的歷史記錄。如果沒有指定任何引數,則顯示所有使用者的歷史資訊。在預設情況下,這些資訊(所顯示的資訊)將來源於/var/log/wtmp檔案。該命令的輸出結果包含以下幾列資訊:

  • 使用者名稱稱
  • tty裝置號
  • 歷史登入時間日期
  • 登出時間日期
  • 總工作時間
$ last jason jason   pts/0        dev-db-server   Fri Mar 27 22:57   still logged in
jason   pts/0        dev-db-server   Fri Mar 27 22:09 - 22:54  (00:45)
jason   pts/0        dev-db-server   Wed Mar 25 19:58 - 22:26  (02:28)
jason   pts/1        dev-db-server   Mon Mar 16 20:10 - 21:44  (01:33)
jason   pts/0        192.168.201.11  Fri Mar 13 08:35 - 16:46  (08:11)
jason   pts/1        192.168.201.12  Thu Mar 12 09:03 - 09:19  (00:15)
jason   pts/0        dev-db-server   Wed Mar 11 20:11 - 20:50  (00:39)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1104485/,如需轉載,請註明出處,否則將追究法律責任。

相關文章