在Linux中,進行使用者行為監控可以透過多種工具和命令來實現。以下是詳細的方法,結合了參考文章中的資訊:
1. 使用命令列工具
a. w
命令
- 功能:顯示當前登入的所有使用者的列表,以及他們的登入時間、當前程序和系統負載。
- 示例:在終端中輸入
w
命令,將顯示當前登入到系統的使用者列表、登入時間、終端(TTY)、遠端IP地址和當前系統負載。
b. who
命令
- 功能:顯示當前登入使用者的一個列表,沒有太多額外的細節。
- 示例:在Linux終端中輸入
who
命令,將顯示登入使用者的列表、他們的終端和IP地址。
c. last
命令
- 功能:顯示最近的登入和登出列表。
- 示例:在終端中輸入
last
命令,將顯示使用者登入歷史、登入時間、IP地址等資訊。如果要檢視特定使用者的登入歷史,可以使用last username
(其中username
為要檢視的使用者名稱)。
2. 使用審計工具
a. auditd
審計工具
- 功能:一個高階的審計框架,用於監控檔案訪問、命令執行、系統呼叫等系統活動。
- 使用方法:
- 安裝和啟動auditd:根據系統型別(Debian/Ubuntu或CentOS/RHEL),使用適當的包管理器(如
apt
或yum
)安裝auditd,並使用systemctl start auditd
命令啟動它。 - 監控檔案訪問:使用
auditctl
命令監控特定目錄下的檔案訪問。 - 檢視審計日誌:審計日誌儲存在
/var/log/audit/audit.log
中,可以使用cat
命令檢視。
- 安裝和啟動auditd:根據系統型別(Debian/Ubuntu或CentOS/RHEL),使用適當的包管理器(如
3. 使用程序監控工具
a. ps
命令
- 功能:檢視當前系統上執行的程序資訊,包括哪些使用者啟動了哪些程序。
- 示例:
- 檢視所有使用者的程序:
ps aux
- 檢視特定使用者的程序:
ps -u username
(其中username
為要檢視的使用者名稱)
- 檢視所有使用者的程序:
b. ss
和 netstat
命令
- 功能:檢視網路連線和埠資訊,可以瞭解哪些使用者正在與系統上的網路服務進行通訊。
- 示例:
- 檢視所有網路連線:
ss -tuln
- 檢視特定使用者的網路連線:結合
grep
命令來篩選
- 檢視所有網路連線:
4. 使用系統效能監控工具
a. nmon
- 功能:用於監控Linux系統的效能,如處理器的使用率、記憶體使用率、磁碟IO統計、網路IO統計等。
- 使用方法:安裝後,執行
nmon
命令即可開始監控。
b. Glances
- 功能:一個響應式監控工具,旨在以任何終端大小顯示儘可能多的資訊。它監控的內容包括CPU和記憶體使用情況、檔案系統I/O、網路I/O、硬體溫度、風扇速度、磁碟使用情況和邏輯卷等。
- 使用方法:安裝後,執行
glances
命令即可開始監控。
5. 網路流量監控
a. iftop
- 功能:用於實時監測Linux系統中每個程序所消耗的網路流量。
- 使用方法:安裝並執行
iftop
命令,可以檢視實時的網路流量情況。
b. nethogs
- 功能:與
iftop
類似,但能夠按照程序ID、使用者名稱、程式名和協議等分類顯示每個程序在上傳和下載方面的實時頻寬使用情況。 - 使用方法:安裝後,執行
nethogs
命令即可開始監控。
綜上所述,你可以對Linux系統中的使用者行為進行全面的監控和管理。