linux記錄日誌
1. 查看和列印日誌的linux命令
Linux系統日誌文件存放在/var/log下
/var/log/cron 記錄了系統定時任務相關的日誌;
/var/log/cups 記錄列印信息的日誌;
/var/log/dmesg 記錄了系統在開機時內核自檢的信息,也可以使用dmesg命令直接查看內核自檢信息。
/var/log/btmp 記錄錯誤登錄的日誌,這個文件是二進制文件,不能直接vi查看,而要使用lastb命令查看;
/var/log/lastlog 記錄系統中所有用戶最後一次的登錄時間的日誌。這個文件也是二進制文件,不能直接vi,而要使用lastlog命令查看。
/var/log/mailog 記錄郵件信息;
/var/log/message 記錄系統重要信息的日誌,記錄Linux系統的絕大多數重要信息,如果系統出現問題,首先要檢查的就是應該是這個日誌文件;
/var/log/secure 記錄驗證和授權方面的信息,只要涉及賬戶和密碼的程序都會記錄。比如說系統的登錄,ssh的登錄,su切換用戶,sudo授權,甚至添加用戶和修改用戶密碼;
/var/log/wtmp 永久記錄所有用戶的登錄、注銷信息,同時記錄系統的啟動、重啟、關機事件。同樣這個文件也是一個二進制文件不能直接vi而需要使用last命令來查看;
/var/run/utmp 記錄當前已經登錄的用戶的信息。這個文件會隨著用戶的登錄和注銷而不斷變化,只記錄當前登錄用戶的信息,同樣這個文件不能直接vi,要使用w,who,users等命令;
2. Linux系統上記錄MYsql操作的審計日誌
根據筆者上一篇文章—Linux系統上記錄用戶操作的審計日誌 。本文來利用相同的方法記錄MYSQL操作的審計日誌。
使用用mysql工具連接MySQL server的所有操作會默認記錄到~/.mysql_history文件中,這個文件會把所有操作記錄下來,包括創建用戶和修改用戶的明文密碼,這在生產系統上是不安全的。如果不想保存,僅僅刪除是不行的(文件不存在會再建立),要直接將其軟連接到垃圾箱。
ln -s /dev/null ~/.mysql_history
利用上一篇文章相同的方法記錄MYSQL操作的審計日誌,是因為mysql工具本身就是有一個shell, 每次mysql連接退出後,都會把此次操作的信息記錄到~/.mysql_history文件中。那麼可以重新定義MYSQL_HISTFILE環境變數來保存mysql日誌。
先看置於/etc/profile.d目錄下的環境變數的腳本mysql_history.sh,和loginlog類似。
在測試時,發現平時使用的普通用戶在操作mysql後無法記錄,而root用戶(平時沒有操作過mysql)可以記錄成功。後來在在~/.mysql_history文件找到了操作記錄,估計是這個文件還存在的原因,刪除後才記錄到新的MYSQL_HISTFILE定義的路徑。
和loginlog一樣,需要定期刪除過期日誌,以下腳本置於/etc/cron.weekly 目錄下。
delete_time=15
find /opt/mysqllog/ -mtime +$delete_time -name '*.log' -exec rm -r {} \;
但是相比於loginlog,mysqllog有兩點暫時沒有解決。
1、定義最大的記錄條數history.maxSize不知在哪定義,my.cnf?
2、每一條命令的時間記錄添加。
3. linux系統日誌格式
1、系統常用的日誌(日誌是用來記錄重大事件的工具)
/var/log/message 系統信息日誌,包含錯誤信息等
/var/log/secure 系統登錄日誌
/var/log/cron 定時任務日誌
/var/log/maillog 郵件日誌
/var/log/boot.log 系統啟動日誌
2、日誌管理服務 rsyslog 《Linux就該這么學》
【1】作用:主要用來採集日誌,不產生日誌
【2】配置文件:/etc/rsyslog.conf
編輯文件時的格式為: ------ *.* 存放日誌文件 ------
其中第一個*代表日誌類型,第二個*代表日誌級別
4. log文件指什麼Linux日誌文件有哪些
在Linux操作系統中,log文件代表著日誌文件,就是記錄系統活動信息的文件,比如:某時、某IP、某時間、進行的某種操作等。此外,在Linux系統中,我們還可以通過tail、cat、tac、head等命令來查看日誌,那麼Linux系統中log文件是什麼意思?本文為大家詳細解答一下。
Linux系統中log文件是什麼意思?
在Linux中,log文件是指日誌文件,是重要的系統信息文件,其中記錄了許多重要的系統事件,包括用戶的登錄信息、系統的啟動信息、系統的安全信息、郵件相關信息、各種服務相關信息等。這些信息有些非常敏感,所以在Linux中這些日誌文件只有root用戶可以讀取。
log文件存放在/var/log/目錄下,該目錄是系統日誌文件的保存位置;除此之外,採用RPM包方式安裝的系統服務也會默認把日誌記錄在/var/log/目錄中。
Linux日誌文件說明
①/var/log/messages:該文件記錄著伺服器系統發生的所有錯誤信息或重要的信息,所以這個文件相當重要,如果系統發生莫名的錯誤時,這個文件是必查的日誌文件之一。
②/var/log/secure:該文件記錄伺服器牽扯到需要輸入賬號密碼的軟體,當登入時都會被記錄到這個文件中,包括系統的login程序、圖形界面登入所使用的gdm程序、su、sudo等程序,還有網路遠程的ssh、telnet等程序,登入信息都會被記載。
③/var/log/maillog:該文件記錄伺服器郵件的來往信息,其實主要記錄SMTP和POP3協議提供者所產生的信息。
④/var/log/cron:與定時任務相關的日誌信息。
⑤/var/log/spooler:與UUCP和news設備相關的日誌信息。
⑥/var/log/boot.log:守護進程啟動和停止相關的日誌信息。
⑦/var/log/wtmp:該日誌文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件。
5. Linux裡面如何查看系統用戶登錄日誌
一、查看日誌文件
Linux查看/var/log/wtmp文件查看可疑IP登陸
last -f /var/log/wtmp
該日誌文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件。因此隨著系統正常運行時間的增加,該文件的大小也會越來越大,
增加的速度取決於系統用戶登錄的次數。該日誌文件可以用來查看用戶的登錄記錄,
last命令就通過訪問這個文件獲得這些信息,並以反序從後向前顯示用戶的登錄記錄,last也能根據用戶、終端tty或時間顯示相應的記錄。
查看/var/log/secure文件尋找可疑IP登陸次數
二、 腳本生成所有登錄用戶的操作歷史
在linux系統的環境下,不管是root用戶還是其它的用戶只有登陸系統後用進入操作我們都可以通過命令history來查看歷史記錄,可是假如一台伺服器多人登陸,一天因為某人誤操作了刪除了重要的數據。這時候通過查看歷史記錄(命令:history)是沒有什麼意義了(因為history只針對登錄用戶下執行有效,即使root用戶也無法得到其它用戶histotry歷史)。那有沒有什麼辦法實現通過記錄登陸後的IP地址和某用戶名所操作的歷史記錄呢?答案:有的。
通過在/etc/profile裡面加入以下代碼就可以實現:
PS1="`whoami`@`hostname`:"'[$PWD]'
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /tmp/dbasky ]
then
mkdir /tmp/dbasky
chmod 777 /tmp/dbasky
fi
if [ ! -d /tmp/dbasky/${LOGNAME} ]
then
mkdir /tmp/dbasky/${LOGNAME}
chmod 300 /tmp/dbasky/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP}-dbasky.$DT"
chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null
source /etc/profile 使用腳本生效
退出用戶,重新登錄
?面腳本在系統的/tmp新建個dbasky目錄,記錄所有登陸過系統的用戶和IP地址(文件名),每當用戶登錄/退出會創建相應的文件,該文件保存這段用戶登錄時期內操作歷史,可以用這個方法來監測系統的安全性。
root@zsc6:[/tmp/dbasky/root]ls
10.1.80.47 dbasky.2013-10-24_12:53:08
root@zsc6:[/tmp/dbasky/root]cat 10.1.80.47 dbasky.2013-10-24_12:53:08
6. linux如何查看日誌
linux如何查看日誌?我們一起來了解一下吧。1、打開linux系統,在linux的桌面的空白處右擊。
2、在彈出的下拉選項里,點擊打開終端。
3、使用catfilename命令,並回車運行即可顯示全部日誌內容。
本文章基於ThinkpadE15品牌、centos7系統撰寫的。
7. linux中日誌文件存在哪裡
日誌文件通常保存在/var/log目錄下。
下面是幾個重要的日誌文件:
/var/log/messages:包括整體系統信息,其中也包含系統啟動期間的日誌。
/var/log/syslog:它和/etc/log/messages日誌文件不同,它只記錄警告信息,常常是系統出問題的信息。
/var/log/user.log:記錄所有等級用戶信息的日誌。/var/log/auth.log:包含系統授權信息,包括用戶登錄和使用的許可權機制等。
(7)linux記錄日誌擴展閱讀:
日誌文件分為事件日誌和消息日誌。
事件日誌
事件日誌記錄在系統的執行中發生的事件,以便提供可用於理解系統的活動和診斷問題的跟蹤。 它們對理解復雜系統的活動至關重要,特別是在用戶交互較少的應用程序中。
它還可以用於組合來自多個源的日誌文件條目。 這種方法與統計分析相結合,可以產生不同伺服器上看起來不相關的事件之間的相關性。 其他解決方案採用網路范圍的查詢和報告。
消息日誌
互聯網中繼聊天(IRC),即時消息(IM)程序,具有聊天功能的對等文件共享客戶端和多人游戲(特別是MMORPG)通常具有自動記錄(即保存)文本通信的能力。
消息日誌幾乎是通用的純文本文件,但是IM和VoIP客戶端(其支持文本聊天,例如Skype)可以將它們保存在HTML文件中或以自定義格式以便於閱讀和加密。
參考資料:網路——日誌文件
8. Linux系統日誌分為哪幾種類型
在Linux系統中,擁有非常靈活和強大的日誌功能,它幾乎可以保存所有的操作記錄,還可以檢索出我們需要的信息;不僅如此,Linux系統日誌還可以幫助我們解決各種各樣的問題。那麼Linux系統日誌分為哪幾種類型?
Linux系統日誌的三種類型
第一種:內核及系統日誌
這種日誌數據由系統服務rsyslog統一管理,根據其主配置文件/etc/rsyslog.conf中的設置決定將內核消息及各種系統程序消息記錄到什麼位置。系統中有相當一部分程序會把日誌文件交由rsyslog管理,因而這些程序使用的日誌記錄也具有相似的格式。
第二種:用戶日誌
這種日誌數據用於記錄Linux操作系統用戶登錄以及退出系統的相關信息,包括用戶名、登錄的終端、登錄時間、來源主機、正在使用的進程操作等。
第三種:程序日誌
有些應用程序會選擇由自己獨立管理一份日誌文件,用於記錄本程序運行過程中的各種事件信息,而不是交給rsyslog服務管理。由於這些程序只負責管理自己的日誌文件,因此不同程序所使用的日誌記錄格式可能會存在較大的差異。
9. Linux查看系統日誌的一些常用命令
last
-a 把從何處登入系統的主機名稱或ip地址,顯示在最後一行。
-d 指定記錄文件。指定記錄文件。將IP地址轉換成主機名稱。
-f <記錄文件> 指定記錄文件。
-n <顯示列數>或-<顯示列數> 設置列出名單的顯示列數。
-R 不顯示登入系統的主機名稱或IP地址。
-x 顯示系統關機,重新開機,以及執行等級的改變等信息
以下看所有的重啟、關機記錄
last | grep reboot
last | grep shutdown
history
列出所有的歷史記錄:
[zzs@Linux] # history
只列出最近10條記錄:
[zzs@linux] # history 10 (注,history和10中間有空格)
使用命令記錄號碼執行命令,執行歷史清單中的第99條命令
[zzs@linux] #!99 (!和99中間沒有空格)
重復執行上一個命令
[zzs@linux] #!!
執行最後一次以rpm開頭的'命令(!? ?代表的是字元串,這個String可以隨便輸,Shell會從最後一條歷史命令向前搜索,最先匹配的一條命令將會得到執行。)
[zzs@linux] #!rpm
逐屏列出所有的歷史記錄:
[zzs@linux]# history | more
立即清空history當前所有歷史命令的記錄
[zzs@linux] #history -c
cat, tail 和 watch
系統所有的日誌都在 /var/log 下面自己看(具體用途可以自己查,附錄列出一些常用的日誌)
cat /var/log/syslog 等
cat /var/log/*.log
tail -f
如果日誌在更新,如何實時查看 tail -f /var/log/messages
還可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次。
該指令,不會直接返回命令行,而是實時列印日誌文件中新增加的內容,
這一特性,對於查看日誌是非常有效的。如果想終止輸出,按 Ctrl+C 即可。
除此之外還有more, less ,dmesg|more,這里就不作一一列舉了,因為命令太多了,關鍵看個人喜好和業務需求.個人常用的就是以上那些
linux日誌文件說明
/var/log/message 系統啟動後的信息和錯誤日誌,是Red Hat Linux中最常用的日誌之一
/var/log/secure 與安全相關的日誌信息
/var/log/maillog 與郵件相關的日誌信息
/var/log/cron 與定時任務相關的日誌信息
/var/log/spooler 與UUCP和news設備相關的日誌信息
/var/log/boot.log 守護進程啟動和停止相關的日誌消息
/var/log/wtmp 該日誌文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件