從審核日誌中查看有關文件訪問的相關資訊
假設,您有一台 Linux 機器並且有三個使用者 -
user1
,user2
和user3
, 誰可以登錄機器。您創建了一條規則
$ auditctl -w /etc/file.txt -p rwxa
如果您想每天查看誰以及在什麼時間訪問,您將
file.txt
如何做以最大程度地減少資訊過載,因為您使用一些應用程序來訪問file.txt
並創建大量記錄數據。需要僅查看file.txt
其他使用者(user1
、user2
、user3
、他們的應用程序、遠端使用者等)對文件的訪問
有用於過濾和報告審計事件的使用者空間工具。有關一些範例,請參見https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sec-Creating_Audit_Reports.html。
對於您的情況,您可以嘗試以下操作:
ausearch --start today --success no --file /etc/file.txt | aureport --file
查看當天對文件的所有失敗的訪問嘗試。
查看 ausearch 和 aureport 手冊頁以獲取更多選項。
假設您已經安裝了 auditd,這很可能是因為您已經使用 auditctl 創建了規則,您可以通過 uid 進行 grep。
使用以下命令找出 uid:
id user1 id user2 id user3
檢查選擇有問題的使用者 ID 的日誌記錄。
cat /var/log/audit/audit.log | grep uid=1000
這假設 1000 是您希望查看文件訪問權限的使用者。例如,當使用者 1000 查看了審核的 file.txt 時,它將顯示您,在本例中使用 cat。
type=SYSCALL msg=audit(1484859413.000:83): arch=c000003e syscall=2 成功=yes exit=3 a0=7ffd50e9eefb a1=0 a2=20000 a3=7ffd50e9c8d0 items=1 ppid=28517 pid=28545 auid=1000 uid= 1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=435 comm=“cat” exe="/bin/cat" key=(null) type=PATH msg =audit(1484859413.000:83): item=0 name=“test.txt” inode=4847 dev=08:01 mode=0100644 ouid=1000 ogid=1000 rdev=00:00 nametype=NORMAL
我希望這就是你要找的!