zoukankan      html  css  js  c++  java
  • Linux内核监控模块-0-开篇简介

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

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

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

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

  • 相关阅读:
    Array 对象-sort()
    vue安装
    前端面试题
    JavaScript对象原型
    CSS如何水平垂直居中?
    块格式化上下文(Block Formatting Context,BFC)
    盒子模型
    前端基础
    Markdown语法
    浏览器 滚动条 占据 y轴宽度的解决方案
  • 原文地址:https://www.cnblogs.com/lxw315/p/4754028.html
Copyright © 2011-2022 走看看