簡體   English   中英

在Linux中執行指定命令時觸發警報

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM