• 主页
  • 归档
Articles Change The World About me

  • 主页
  • 归档

Linux文件事件监控

2022-04-22 阅读量 21

0x00 引言

  在内核态很容易监控文件的创建、删除、修改等事件,但是Linux也提供了一些工具,方便使用者在用户态仍能够监控文件事件。从发展历程来看,主要经历了dnotify、inotify以及fanotify阶段。
  Linux的文件事件监听的原理并不复杂,简单说就是当一个应用层的进程操作一个目录或文件时,会触发系统调用,此时内核就可以把该进程对文件的操作上报给应用层的监听进程。

0x01 dnotify

  • dnotify
    • 支持内核: 内核2.4.0以上版本
    • 缺陷:
      • 只能监控文件夹,并且对每个目标文件夹都需要添加监控点
      • 文件夹umount时有影响
      • 使用信号的方式通知文件系统事件

0x02 inotify

  • inotify
    • 支持内核: 内核2.6.13以上版本
    • 优点:
      • 既可以监视文件,也可以监视目录
      • 不打开目标对象描述符,所以目标umount时不影响,且生成umount事件通知
      • 使用系统调用的方式通知文件系统事件,效率高于dnotify
    • 缺点:
      • 监控文件夹时不能同时监控子文件夹或子文件,需要添加监控点
      • 监控点有上限,如果监控目录过深,会影响监控能力
      • 只能记录或通知文件事件,不能阻止该操作
      • 不能记录更详细的信息,比如对文件执行操作的进程PID

0x03 fanotify

  • fanotify
    • 支持内核: 内核2.6.37以上版本
    • 优点:
      • 能同时监控子文件夹或子文件
      • 无限监控点
      • 允许介入并改变文件事件的行为
      • 获取更详细的信息

0x04 引用文献

[1]https://www.man7.org/linux/man-pages/man7/fanotify.7.html
[2]https://zhuanlan.zhihu.com/p/186027813

  • 计算机技术
进程间通信与线程间通信
Ping
  1. 1. 0x00 引言
  2. 2. 0x01 dnotify
  3. 3. 0x02 inotify
  4. 4. 0x03 fanotify
  5. 5. 0x04 引用文献
© 2023 JailbreakFox by Hexo
本站总访问量16221次
  • Articles
  • Change The World
  • About me

tag:

  • 计算机基础
  • 计算机技术
  • Linux 工具
  • 视觉,应用, AI
  • 工具
  • 计算机技术,Linux
  • 内核
  • Linux 计算机技术
  • 计算机技术 Linux
  • 计算机技术,Linux内核
  • 机器学习,神经网络,算法
  • Linux
  • 机器人
  • pytorch,神经网络,机器学习
  • 强化学习,算法
  • 计算机技术 黑客技术
  • 工具, 信息聚合
  • 数据库
  • 计算机技术,编译工具
  • 食物 茶
  • 工具,流
  • 游戏设计,游戏AI,入门
  • 信息安全技术
  • 配置
  • 视觉,入门
  • 数字货币 区块链
  • 远程桌面, 工具
  • 计算机技术,打包工具
  • 技巧

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 卞神
致力于创造风靡全球的机器人

迈向CyberPunk的新世界
Never STOP!