利用python实现对linux系统文件进行保护。
首先通过Init.py建立初始化数据库,保存系统中文件的inode信息和md5信息
后面利用Check.py检查系统中文件的属性是否更改,文件md5是否变动等信息判断系统文件被改动的部分
分为3类文件
- 新增文件
- 被修改文件
- 被删除文件
python3+Sqlite+zmail
├── Check.py
├── data
│ ├── init.db
│ └── test.db
├── etc
│ └── pol.txt
├── Init.py
├── lib
│ ├── Config.py
│ ├── DBOperateOld.py
│ ├── DBOperate.py
│ ├── Email.py
│ ├── FileOperate.py
│ ├── FormatInfo.py
│ ├── _init_.py
│ ├── MD5.py
│ ├── MyStat.py
│ └── Policy.py
├── PrintReport.py
├── README.md
└── tset.py
文件夹下存放数据库文件,数据库使用的sqlite
文件夹下存放的是配置文件 pol.txt针对文件某些属性被修改进行捕捉
文件夹下是项目运行需要用到函数库。
文件包含了项目路径,配置文件路径,数据库文件路径等等
后期添加一些辅助功能的相关配置会在这里进行
比如:
- 定时执行Check,定时的规则
- 是否配置邮箱,当发现有异常文件改动时,主动发送邮箱
- 后面如果有其他功能再添加
文件是进行数据库操作时所用到的一些语句的生成函数,创建表,插入数据,更新数据等等
已经弃用,原本打算用ORM框架进行数据库操作,但是在非常多的文件面前,peewee运行效率极其低下,20分钟才存2万条数据
是用来配置发送邮件的
里面包含了文件属性,文件路径收集的函数
是用来格式化文件属性用的,由于stat获取到的文件属性都是int型数据,需要通过一些函数格式化为便于人们理解的字符串。
里面包含了读取计算文件md5值得函数
中包含了Mystat类,用于将stat信息转换为类或者字典,便于调用操作
文件是用来在Check之后生成报告,并输出给用户看的
文件是用来建立初始化数据库的
是用来检查文件改动的