last是Linux系統(tǒng)內(nèi)置的跟蹤工具,能夠列出登入用戶的相關(guān)信息,通過輸入運(yùn)行,不需獨(dú)立安裝,下面小編將針對(duì)last命令的用法給大家做個(gè)詳細(xì)介紹,以便你有個(gè)了解。
last命令的功能是什么
last顯示的是自/var/log/wtmp文件創(chuàng)建起所有登錄(和登出)的用戶。這個(gè)文件是二進(jìn)制文件,它不能被文本編輯器瀏覽,比如vi、Joe或者其他軟件。這是非常有用的,因?yàn)橛脩簦ɑ蛘遰oot)不能像他們希望的那樣修改這個(gè)文件。
last會(huì)給出所有已登錄用戶的用戶名、tty、IP地址(如果用戶是遠(yuǎn)程連接的話)、日期-時(shí)間和用戶已經(jīng)登錄的時(shí)間。
如何運(yùn)行l(wèi)ast
你只要在控制臺(tái)中輸入last即可。這是個(gè)例子:
$ 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信息:
第一列告訴誰是用戶
第二列給出了用戶如何連接的信息
pts/0 (偽終端) 意味著從諸如SSH或telnet的遠(yuǎn)程連接的用戶
tty (teletypewriter) 意味著直接連接到計(jì)算機(jī)或者本地連接的用戶
除了重啟活動(dòng),所有狀態(tài)會(huì)在啟動(dòng)時(shí)顯示
第三列顯示用戶來自哪里。如果用戶來自于遠(yuǎn)程計(jì)算機(jī),你會(huì)看到一個(gè)主機(jī)名或者IP地址。如果你看見:0.0 或者什么都沒有,這意味著用戶通過本地終端連接。除了重啟活動(dòng),內(nèi)核版本會(huì)顯示在狀態(tài)中。
剩下的列顯示日志活動(dòng)發(fā)生在何時(shí)。括號(hào)中的數(shù)字告訴我們連接持續(xù)了多少小時(shí)和分鐘。
日常操作中l(wèi)ast的一些示例
限制顯示行的數(shù)目
當(dāng)你有很多行要顯示時(shí),你可以限制你想看到的行的數(shù)目。使用 -n 參數(shù)來這么做。
$ 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 參數(shù)會(huì)使last顯示從當(dāng)前時(shí)間到以后的3條記錄。
不顯示主機(jī)名
使用 -R 參數(shù)來這么做。這里是例子 :
$ 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)
如你所見,現(xiàn)在在也沒有關(guān)于主機(jī)或者IP地址的信息了。
最后一列顯示主機(jī)名
要這么做,我們使用 -a參數(shù)
$ 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
現(xiàn)在主機(jī)信息諸如10.0.76.162 會(huì)放在最后一列。
顯示完整登入登出時(shí)間日期
對(duì)于此,你可以使用 -F 參數(shù)。這個(gè)是個(gè)示例:
$ last -F
leni pts/0 10.0.76.162 Mon Dec 2 12:32:24 2013 – Mon Dec 2013 13:25:24 2013 (00:53)
打印特定的用戶名
如果你想要追蹤特定的用戶,你可以特別打印它。在last命令后面輸入用戶名。
$ last leni
leni tty1 Mon Dec 2 18-42 still logged in
leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) 10.0.76.162
或者你想要知道reboot何時(shí)完成,你也可以這樣顯示它:
$ last reboot
reboot system boot Mon Dec 2 09:20 - 16:55 (07:34)
reboot system boot Sun Dec 1 04:26 - 04:27 (00:01)
reboot system boot Wed Nov 27 20:27 - 01:24 (04:57)
reboot system boot Tue Nov 26 21:06 - 06:13 (09:06)
打印特定 / pts
last同樣可以打印特定tty/pts的信息。 只要在last命令后面輸入tty名字或者pty名字。
這里有一些例子:
$ last tty1
pungki tty1 Mon Dec 2 09:31 still logged in
pungki tty1 Mon Dec 2 04:26 – down (00:00)
pungki tty1 Mon Dec 2 04:07 – down (00:00)
pungki tty1 Sun Dec 1 18:55 – 04:07 (09:12)
$ last pts/0
leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
pungki pts/0 :0.0 Wed Nov 27 20:28 – down (04:56)
當(dāng)你看到 down 的值 - 比如上面的第二行,它意味著用戶從某個(gè)時(shí)間登錄直到系統(tǒng)重啟或關(guān)機(jī)。
使用另一個(gè)文件而不是 /var/log/wtmp
默認(rèn)上,last命令會(huì)從/var/log/wtmp中解析信息。如果你想要last命令從另外一個(gè)文件解析,你可以使用-f 參數(shù)。比如,當(dāng)日志切割后,讓我們假設(shè)切割后,之前的文件名變?yōu)?var/log/wtmp.1。那么last命令會(huì)像這樣。
$ last -f /var/log/wtmp.1
顯示運(yùn)行級(jí)別改變
這里有個(gè)-x參數(shù)來顯示運(yùn)行級(jí)別。這里示例輸出:
pungki tty1 Mon Dec 2 19:21 still logged in
runlevel (to lvl 3) 2.6.32-358.23.2 Mon Dec 2 19:20 – 19:29 (00:08)
reboot system boot 2.6.32-358.23.2 Mon Dec 2 19:20 – 19:29 (00:08)
shutdown system down 2.6.32-358.23.2 Mon Dec 2 18:56 – 19:20 (00:23)
runlevel (to lvl 0) 2.6.32-358.23.2 Mon Dec 2 18:56 – 18:56 (00:00)
leni tty1 Mon Dec 2 18:42 – down (00:00)
你可以看到這里有兩個(gè)運(yùn)行級(jí)別。運(yùn)行級(jí)別to lvl 3的條目意味著系統(tǒng)運(yùn)行在完整的控制臺(tái)模式,而沒在X window或者GUI中。同時(shí),當(dāng)系統(tǒng)關(guān)機(jī)時(shí),實(shí)際上是切換為運(yùn)行級(jí)別0,這就是為什么last會(huì)顯示to lvl 0。
查看失敗登錄
last命令用了記錄成功登錄,而 lastb 命令記錄失敗的登錄嘗試。你必須擁有root權(quán)限才能運(yùn)行l(wèi)astb命令。這里有一個(gè)lastb命令的示例輸出。lastb會(huì)解析/var/log/btmp的信息。
# lastb
leni tty1 Mon Dec 2 22:12 – 22:12 (00:00)
rahma tty1 Mon Dec 2 22:11 – 22:11 (00:00)
切割日志
因?yàn)?var/log/wtmp記錄每次的登錄活動(dòng),文件的大小可能會(huì)快速地增長。默認(rèn)上,Linux會(huì)每月切割 /var/log/wtmp/。切割的策略放在/etc/logrotate.conf 文件中。這里是我/etc/logrotate.conf*文件的內(nèi)容。
/var/log/wtmp {
monthly
create 0664 root umtp
minsize 1M
rotate 1
}
對(duì)于 /var/log/btmp, 這里是默認(rèn)的倒換活動(dòng)配置
/var/log/btmp {
missingok
monthly
create 0600 root umtp
minsize 1M
rotate 1
}
你可以根據(jù)需要自己修改。
總結(jié)
你可以結(jié)合這些參數(shù)來自定義last和lastb的輸出。所有可以運(yùn)行于last命令的參數(shù)都可運(yùn)行在lastb命令上。更多細(xì)節(jié),請(qǐng)通過在控制臺(tái)輸入man last來訪問。
上面就是Linux使用last命令的介紹了,通過last命令,你能夠限制顯示行的數(shù)目,顯示用戶登入登出的時(shí)間日期,查看失敗登錄等。