是否有像fanotify這樣的設施,但對於exec()操作?像kauth in MacOS,但在用戶空間。Linux - fanotify,但對於exec()?
fanotify似乎只通知(和允許/拒絕)文件打開/關閉/讀/寫。
我看過代碼可以通過other means(也可以here)通知fork和exec,但是沒有辦法允許或拒絕一個exec。此外,這種方法似乎有缺點,因爲並非所有內核都使用netlink/proc連接器進行編譯,並且可能會被事件淹沒。
是否有像fanotify這樣的設施,但對於exec()操作?像kauth in MacOS,但在用戶空間。Linux - fanotify,但對於exec()?
fanotify似乎只通知(和允許/拒絕)文件打開/關閉/讀/寫。
我看過代碼可以通過other means(也可以here)通知fork和exec,但是沒有辦法允許或拒絕一個exec。此外,這種方法似乎有缺點,因爲並非所有內核都使用netlink/proc連接器進行編譯,並且可能會被事件淹沒。
也許你正在尋找SELinux,這是一個Linux內核模塊,它提供了細粒度的安全策略的實施,比如誰或什麼可以執行某個文件。
它是否具有某種API,還是僅通過配置文件進行設置? – craig65535
是:http://selinuxproject.org/page/LibselinuxAPISummary – Kaz
感謝您的鏈接。不過,我想要弄清楚這個API有什麼可能。我可以編寫一個能夠得到執行通知的模塊,然後將訪問決定返回給selinux?或者,API是否更多用於閱讀/構建靜態配置? 例子我見過使用libselinux的項目就像SE-PostgreSQL,從我的閱讀中,他們使用它來符合已經在selinux中設置的訪問控制。 – craig65535
我相信「流程事件連接器」是你在找什麼。該接口將允許您接收fork,exec和setuid/setguid事件的通知。
查看更多在LWN(https://lwn.net/Articles/157150/)和一個偉大的博客文章(不是我的)在http://netsplit.com/the-proc-connector-and-socket-filters。
這將在用戶級工作到底如何?在我看來,這是隻能在內核中實現的東西。 –
我想知道是否有一個用戶界面可以用於內核中的一些預先存在的功能,例如上面鏈接中的netlink代碼。 – craig65535