[英]trigger alert when a specified command executes in linux
我的系統中安裝了3個samba共享,但是突然之間,其中一個共享安裝了我的權限。 也許是在我的crontab中運行的成千上萬個腳本之一,但我不知道哪個。
我已經查看了所有/var/log
目錄以查找沒有成功的umount
字,然后我想記錄命令umount的執行時間以及正在運行的進程。
也許使用syslog,也許使用另一個日志,也許是我的郵箱...。
非常感謝。
我有這個軟件:
mount: mount-2.12q
mount.cifs version: 1.14-3.5.4
卸載不僅可以通過調用umount二進制文件來完成,許多程序都可以做到。 請參見手冊頁( man syscalls
)並搜索umount。 這就是說,您將必須鈎住相應的syscall
並查看誰調用了它。 我不確定,但是很可能可以通過直接調用相應的方法來斷開內核內部的連接,因此功能可能會繞過syscall接口,這是用戶空間交互所必需的。 在這種情況下,您將不得不在內核本身上使用一些調試技術,這可能對於發現您的問題有點用!
您可能會在已經運行的進程( man strace
)上使用strace成功,例如smbd,並查看此進程是否調用umount,這很有可能。
無論如何,如果您可以從源代碼重新編譯內核,則可以在函數中添加一些printk
消息,該消息用於卸載設備以查看是由哪個進程執行的(這是我的方法,在沒有其他東西(包括strace
)幫助的情況下) 。
由於安裝是文件系統的更改,因此inode-observer incron可能是您的解決方案。 另一種選擇可能是審核。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.