在 CentOS 系統中,readdir 是一個用于讀取目錄內容的系統調用。要記錄 readdir 的操作,你可以使用 Linux 的審計子系統(auditd)來實現。以下是如何配置 auditd 以記錄 readdir 操作的步驟:
sudo yum install audit
sudo systemctl start auditd
sudo systemctl enable auditd
/etc/audit/rules.d/readdir.rules,并添加以下內容:-a exit,always -F arch=b32 -S readdir -k readdir_audit
-a exit,always -F arch=b64 -S readdir -k readdir_audit
這里,-a exit,always 表示在系統調用退出時總是應用規則;-F arch=b32 和 -F arch=b64 分別表示 32 位和 64 位架構;-S readdir 表示要監控的系統調用;-k readdir_audit 是一個自定義的關鍵字,用于過濾和查找相關的日志記錄。
sudo augenrules --load
readdir 操作。要查看這些記錄,可以使用 ausearch 命令:sudo ausearch -k readdir_audit
這將顯示所有與 readdir_audit 關鍵字相關的日志記錄。
注意:根據你的需求,你可能需要調整審計規則以監控特定的目錄或文件。你可以通過在規則中添加路徑來實現這一點。例如,要監控 /var/log 目錄下的所有 readdir 操作,可以將規則更改為:
-a exit,always -F arch=b32 -S readdir -F path=/var/log -k readdir_audit
-a exit,always -F arch=b64 -S readdir -F path=/var/log -k readdir_audit