如果你是一個服務器管理員,你或許知道你要保護你的服務器的話,不僅是從外部,還要從內部保護。Linux有一個內置工具來看到最後登陸服務器的用戶,可以幫助你保護服務器。
這個命令是last。它對於追蹤非常有用。讓我們來看一下last可以為你做些什麼。
last命令的功能是什麼
last顯示的是自/var/log/wtmp文件創建起所有登錄(和登出)的用戶。這個文件是二進制文件,它不能被文本編輯器浏覽,比如vi、Joe或者其他軟件。這是非常有用的,因為用戶(或者root)不能像他們希望的那樣修改這個文件。
last會給出所有已登錄用戶的用戶名、tty、IP地址(如果用戶是遠程連接的話)、日期-時間和用戶已經登錄的時間。
如何運行last
你只要在控制台中輸入last即可。這是個例子:
$ last leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53) pungki tty1 Mon Dec 2 09:31 still logged in reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)
這裡是如何閱讀last信息:
第二列給出了用戶如何連接的信息
第三列顯示用戶來自哪裡。如果用戶來自於遠程計算機,你會看到一個主機名或者IP地址。如果你看見:0.0 或者什麼都沒有,這意味著用戶通過本地終端連接。除了重啟活動,內核版本會顯示在狀態中。
剩下的列顯示日志活動發生在何時。括號中的數字告訴我們連接持續了多少小時和分鐘。
日常操作中last的一些示例
限制顯示行的數目
當你有很多行要顯示時,你可以限制你想看到的行的數目.使用 -n 參數來這麼做。
$ last -n 3 leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53) pungki tty1 Mon Dec 2 09:31 still logged in reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)
-n 參數會使last顯示從當前時間到以後的3條記錄。
不顯示主機名
使用 -R 參數來這麼做。這裡是例子 :
$ last -R leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) pungki tty1 Mon Dec 2 09:31 still logged in reboot system boot Mon Dec 2 09:20 - 13:25 (04:05)
如你所見,現在在也沒有關於主機或者IP地址的信息了。
最後一列顯示主機名
要這麼做,我們使用 -a參數
$ last -a leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) 10.0.76.162 pungki tty1 Mon Dec 2 09:31 still logged in :0.0 reboot system boot Mon Dec 2 09:20 - 13:25 (04:05) 2.6.32-358.23.2.el6.i686
現在主機信息諸如10.0.76.162 會放在最後一列。