Linux内核监控模块-0-开篇简介

最近做了一个关于Linux内核编程的项目,主要实现的功能是对文件系统的监控。

我采用的方式是将监控的功能做成一个可加载模块(LKM)的形式,动态加载到Linux内核中。在这个内核层的“监控模块”中,我实现了对open系统调用的截获,因为在操作文件之前,都是先调用open系统调用获得文件描述符fd。

在截获系统调用后,获取当前调用open的进程是哪一个,然后获取open操作的文件是哪一个。通过与事先制定好的监控策略(以文件的形式定义的,在加载模块的时候,从文件中读取到监控模块中)比对,看现在正在操作的文件是否能被该进程访问。如果能访问,则调用系统原有的open函数执行open的相关过程,如果不能访问,则报错,且不调用系统原有的open函数。

这个功能模块的功能我基本上都已经实现了,后续我会再写几篇随笔,将我做这个模块的点滴都记录下来,以供日后参考。

转载于:https://www.cnblogs.com/lxw315/p/4754028.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值