萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

Linux 伺服器日誌管理深度解析(上):三大子系統、關鍵日誌檔案與核心查詢命令

日誌對安全的核心價值

日誌記錄系統每日發生的一切,支援錯誤溯源、攻擊痕跡追蹤,核心功能:審計與監測,可實時監控系統狀態、追蹤入侵者。

Linux 三大日誌子系統

子系統執行主體記錄位置用途
連接時間日誌多程式(login 等)/var/log/wtmp、/var/run/utmp追蹤誰、何時登入系統
進程統計核心pacct 或 acct進程終止時寫入,提供命令使用統計
錯誤日誌syslogd/var/log/messages守護進程、用戶程式、核心報告關鍵事件

網路服務(HTTP/FTP)另維護詳細日誌。

常用日誌檔案速查表

檔案記錄內容
access-logHTTP/Web 傳輸
acct/pacct用戶命令執行
aculogModem 活動
btmp失敗登入記錄
lastlog最近成功登入與最後失敗登入
messagessyslog 訊息(常鏈接到 syslog)
sudologsudo 命令使用
sulogsu 命令使用
syslogsyslog 訊息(常鏈接到 messages)
utmp當前登入用戶
wtmp用戶登入/登出永久記錄(含關機/重啟)
xferlogFTP 會話

utmp/wtmp/lastlog 關鍵機制

  • 登入時:login 讀 lastlog(依 UID)輸出上次登入資訊 → 寫入新登入時間 → 開啟 utmp 插入記錄(登出時刪除) → 追加記錄到 wtmp。
  • 登出時:同一 utmp 記錄(更新時間戳)追加到 wtmp。
  • 所有記錄含時間戳。
  • wtmp 無限增長,通常以天/周為單位循環(cron 腳本重命名:wtmp → wtmp.1 → wtmp.2 … wtmp.7)。

核心查詢命令實戰(二進制檔需專用工具讀取)

who — 當前登入用戶

$ who
chyang  pts/0  Aug 18 15:06  (202.38.68.242)
ynguo   pts/2  Aug 18 15:32  (202.38.79.47)
...
$ who /var/log/wtmp   # 顯示 wtmp 建立以來所有登入

w — 當前用戶與進程

$ w
3:36pm up 1 day, 22:34, 6 users, load average: 0.23, 0.29, 0.27
USER   TTY   FROM             LOGIN@  IDLE  JCPU  PCPU  WHAT
chyang pts/0 202.38.68.242   3:06pm  2:04  0.08s 0.04s -bash
ynguo  pts/2 202.38.79.47    3:32pm  0.00s 0.14s 0.05s w
...

users — 當前登入用戶名單(含重複會話)

$ users
chyang lewis lewis ylou ynguo ynguo

last — 歷史登入回溯

$ last
chyang pts/9 202.38.68.242 Tue Aug 1 08:34 - 11:23 (02:49)
...
$ last ynguo   # 單用戶近期活動

ac — 連接時間統計(小時)

$ ac           # 總計
total 5177.47
$ ac -d        # 每日總計
Aug 12 total 261.87
...
$ ac -p        # 每用戶總計
ynguo 193.23
...

lastlog — 格式化顯示最後登入

# lastlog
rong       tty5  202.38.64.187  Fri Aug 18 15:57:01 2000
dbb        **Never logged in**
xinchen    **Never logged in**
...
# lastlog -u 102   # 指定 UID
# lastlog -t 7     # 限制最近 7 天

下篇預告

下一篇將深入 syslogd 配置、遠程日誌收集、日誌輪轉與審計自動化實戰。

copyright © 萬盛學電腦網 all rights reserved