2017-02-24 37 views
0

我想攔截特定文件上的統計調用,並在檢測到後立即快速執行操作。攔截Linux文件系統中文件的統計調用是否可能? (來自用戶空間)

在過去,我已經使用了inotify的庫,但多數民衆贊成只爲我工作,當打開/寫入/關閉文件等。如果我沒有記錯,統計只是讀取文件系統上的i節點的內容,還等什麼用戶空間中運行的二進制文件攔截調用的最佳方式是什麼?

我想這也可以概括爲攔截來自用戶空間的系統調用?

而且要注意,我不知道我針對的過程,但沒有當它運行等

多虧了任何控制!

回答

0

這種技術有可能被稱爲function interposition

它適用於您啓動或控制啓動環境的應用程序,以便能夠設置LD_PRELOAD環境變量。

+0

不幸的是,我無法控制啓動環境,並說在根目錄下運行二進制文件,而我運行在權限較低的用戶身上,並且控制着正在運行的文件。這使得這變得更加困難,我開始相信,如果不修改內核並構建它本身是不可能的......感謝鏈接,但是這種技術在相關工作中似乎很有用! –

+0

@AzeemIlyas在這種情況下,您不能顛覆其他應用程序,這是一項安全功能。 –

0

您可以在庫級別使用函數劫持LD_PRELOAD,但這隻適用於不是setuid/setgid的動態鏈接二進制文件。對於靜態或setuid/setgid二進制文件,你必須實現一個內核模塊來劫持內核級別的函數。

相關問題