utmp搞坝、wtmp和lastlog日志文件是多數(shù)重用UNIX日志子系統(tǒng)的關(guān)鍵--保持用戶登錄進(jìn)入和退出的紀(jì)錄魁袜。
1)/var/log/secure:記錄登錄系統(tǒng)存取數(shù)據(jù)的文件;
例如:pop3,ssh距境,telnet垮卓,ftp等都會(huì)記錄在此.
2)/ar/log/btmp:記錄登錄這的信息記錄粟按,被編碼過,所以必須以last解析;
例如:lastb | awk '{ print $3}' | sort | uniq -c | sort -nr | more
3)/var/log/message:幾乎所有的開機(jī)系統(tǒng)發(fā)生的錯(cuò)誤都會(huì)在此記錄;
4)/var/log.boot.log:記錄一些開機(jī)或者關(guān)機(jī)啟動(dòng)的一些服務(wù)顯示的啟動(dòng)或者關(guān)閉的信息;
5)/var/log/maillog:記錄郵件的存取和往來;
6)/var/log/cron:用來記錄crontab這個(gè)服務(wù)的內(nèi)容;
7)/var/log/httpd疼鸟,/var/log/mysqld.log等等文件庙曙,記錄幾個(gè)不同的網(wǎng)絡(luò)服務(wù)的記錄文件;
8)/var/log/acpid ,?? ACPI - Advanced Configuration and Power Interface,表示高級(jí)配置和電源管理接口吴攒。
后面的 d 表示 deamon 砂蔽。 acpid 也就是 the ACPI event daemon 。 也就是 acpi 的消息進(jìn)程镣隶。用來控制、獲取轻猖、管理 acpi 的狀態(tài)的服務(wù)程序嗜闻。
9)/var/run/utmp 記錄著現(xiàn)在登錄的用戶;
10)/var/log/lastlog 記錄每個(gè)用戶最后的登錄信息;
11)/var/log/btmp 記錄錯(cuò)誤的登錄嘗試;
12)/var/log/dmesg內(nèi)核日志;
13)/var/log/cpus CPU的處理信息琉雳;
14)/var/log/syslog 事件記錄監(jiān)控程序日志;
15)/var/log/auth.log 用戶認(rèn)證日志翠肘;
16)/var/log/daemon.log 系統(tǒng)進(jìn)程日志束倍;
17)/var/log/mail.err 郵件錯(cuò)誤信息;
18)/var/log/mail.info 郵件信息甥桂;
19)/var/log/mail.warn 郵件警告信息邮旷;
20)/var/log/daemon.log 系統(tǒng)監(jiān)控程序產(chǎn)生的信息;
21)/var/log/kern 內(nèi)核產(chǎn)生的信息;
22)/var/log/lpr?? 行打印機(jī)假脫機(jī)系統(tǒng)產(chǎn)生的信息;
-----------------------------------------------
常用日志文件
系統(tǒng)日志是由一個(gè)名為syslog的服務(wù)管理的,如以下日志文件都是由syslog日志服務(wù)驅(qū)動(dòng)的:
/var/log/boot.log:錄了系統(tǒng)在引導(dǎo)過程中發(fā)生的事件办陷,就是Linux系統(tǒng)開機(jī)自檢過程顯示的信息
/var/log/lastlog :記錄最后一次用戶成功登陸的時(shí)間律歼、登陸IP等信息
/var/log/messages :記錄Linux操作系統(tǒng)常見的系統(tǒng)和服務(wù)錯(cuò)誤信息
/var/log/secure :Linux系統(tǒng)安全日志,記錄用戶和工作組變壞情況制圈、用戶登陸認(rèn)證情況
/var/log/btmp :記錄Linux登陸失敗的用戶畔况、時(shí)間以及遠(yuǎn)程IP地址
/var/log/syslog:只記錄警告信息,常常是系統(tǒng)出問題的信息,使用lastlog查看
/var/log/wtmp:該日志文件永久記錄每個(gè)用戶登錄域庇、注銷及系統(tǒng)的啟動(dòng)、停機(jī)的事件熟呛,使用last命令查看
/var/run/utmp:該日志文件記錄有關(guān)當(dāng)前登錄的每個(gè)用戶的信息尉姨。如 who、w九府、users覆致、finger等就需要訪問這個(gè)文件
/var/log/syslog 或 /var/log/messages 存儲(chǔ)所有的全局系統(tǒng)活動(dòng)數(shù)據(jù),包括開機(jī)信息儡羔¤邓校基于 Debian 的系統(tǒng)如 Ubuntu 在 /var/log/syslog 中存儲(chǔ)它們之宿,而基于 RedHat 的系統(tǒng)如 RHEL 或 CentOS 則在 /var/log/messages 中存儲(chǔ)它們。
/var/log/auth.log 或 /var/log/secure 存儲(chǔ)來自可插拔認(rèn)證模塊(PAM)的日志坪创,包括成功的登錄姐赡,失敗的登錄嘗試和認(rèn)證方式。Ubuntu 和 Debian 在 /var/log/auth.log 中存儲(chǔ)認(rèn)證信息依沮,而 RedHat 和 CentOS 則在 /var/log/secure 中存儲(chǔ)該信息枪狂。
/var/log/wtmp
該日志文件永久記錄每個(gè)用戶登錄危喉、注銷及系統(tǒng)的啟動(dòng)州疾、停機(jī)的事件。因此隨著系統(tǒng)正常運(yùn)行時(shí)間的增加薄嫡,該文件的大小也會(huì)越來越大,增加的速度取決于系統(tǒng)用戶登錄的次數(shù)吩坝。該日志文件可以用來查看用戶的登錄記錄哑蔫,last命令就通過訪問這個(gè)文件獲得這些信息,并以反序從后向前顯示用戶的登錄記錄嵌纲,last也能根據(jù)用戶稿黍、終端tty或時(shí)間顯示相應(yīng)的記錄。
/var/run/utmp
該日志文件記錄有關(guān)當(dāng)前登錄的每個(gè)用戶的信息言沐。因此這個(gè)文件會(huì)隨著用戶登錄和注銷系統(tǒng)而不斷變化酣栈,它只保留當(dāng)時(shí)聯(lián)機(jī)的用戶記錄矿筝,不會(huì)為用戶保留永久的記錄。系統(tǒng)中需要查詢當(dāng)前用戶狀態(tài)的程序榆综,如 who铸史、w、users判沟、finger等就需要訪問這個(gè)文件崭篡。該日志文件并不能包括所有精確的信息,因?yàn)槟承┩话l(fā)錯(cuò)誤會(huì)終止用戶登錄會(huì)話迹炼,而系統(tǒng)沒有及時(shí)更新 utmp記錄斯入,因此該日志文件的記錄不是百分之百值得信賴的。
以上提及的3個(gè)文件(/var/log/wtmp、/var/run/utmp涵防、/var/log/lastlog)是日志子系統(tǒng)的關(guān)鍵文件,都記錄了用戶登錄的情況偏瓤。這些文件的所有記錄都包含了時(shí)間戳椰憋。這些文件是按二進(jìn)制保存的橙依,故不能用less、cat之類的命令直接查看這些文件女责,而是需要使用相關(guān)命令通過這些文件而查看创译。其中,utmp和wtmp文件的數(shù)據(jù)結(jié)構(gòu)是一樣的刷喜,而lastlog文件則使用另外的數(shù)據(jù)結(jié)構(gòu)掖疮,關(guān)于它們的具體的數(shù)據(jù)結(jié)構(gòu)可以使用man命令查詢仰禽。
每次有一個(gè)用戶登錄時(shí),login程序在文件lastlog中查看用戶的UID吐葵。如果存在规揪,則把用戶上次登錄、注銷時(shí)間和主機(jī)名寫到標(biāo)準(zhǔn)輸出中温峭,然后login程序在lastlog中記錄新的登錄時(shí)間猛铅,打開utmp文件并插入用戶的utmp記錄。該記錄一直用到用戶登錄退出時(shí)刪除凤藏。utmp文件被各種命令使用奸忽,包括who堕伪、w、users和finger栗菜。
下一步欠雌,login程序打開文件wtmp附加用戶的utmp記錄。當(dāng)用戶登錄退出時(shí)富俄,具有更新時(shí)間戳的同一utmp記錄附加到文件中。wtmp文件被程序last使用而咆。
清除log
rm -rf /var/log/*.gz
rm -rf /var/log/*.1
echo "" > /var/log/dmesg
echo "" > /var/log/kern.log
echo "" > /var/log/messages
echo "" > /var/log/syslog
echo " " > test.log
> test.log
cat /dev/null > test.log
cat /dev/null /var/log/wtmp
cat /dev/null /var/log/messages
cat /dev/null /var/log/secure
linux 下可以用history 查看歷史執(zhí)行命令霍比,但默認(rèn)沒有記錄操作時(shí)間,也無法查看是哪個(gè)客戶端執(zhí)行的命令暴备;
可以用/usr/bin/script 來記錄用戶操作悠瞬;
netstat -a 查詢連接狀態(tài)
wtmp和utmp文件都是二進(jìn)制文件,他們不能被諸如tail命令剪貼或合并(使用cat命令)涯捻。用戶需要使用who浅妆、w、users汰瘫、last和ac來使用這兩個(gè)文件包含的信息狂打。
who:who命令查詢utmp文件并報(bào)告當(dāng)前登錄的每個(gè)用戶。Who的缺省輸出包括用戶名混弥、終端類型趴乡、登錄日期及遠(yuǎn)程主機(jī)。
w:w命令查詢utmp文件并顯示當(dāng)前系統(tǒng)中每個(gè)用戶和它所運(yùn)行的進(jìn)程信息蝗拿。
users:users用單獨(dú)的一行打印出當(dāng)前登錄的用戶晾捏,每個(gè)顯示的用戶名對(duì)應(yīng)一個(gè)登錄會(huì)話。如果一個(gè)用戶有不止一個(gè)登錄會(huì)話哀托,那他的用戶名把顯示相同的次數(shù)惦辛。例如:users(回車)顯示:chyang lewis lewis ylou ynguo ynguo?
last:last命令往回搜索wtmp來顯示自從文件第一次創(chuàng)建以來登錄過的用戶。例如:?
linux查看日志:
# cd /var/log
# less secure
或者
# less messages
最近登錄的日志:
# last